警示后人
查看原帖
警示后人
671925
caotianhao楼主2023/8/6 18:54

这题不要吸氧,不然会死的很惨,附代码:

#include<bits/stdc++.h>
using namespace std;
int t[10]={6,2,5,5,4,5,6,3,7,6};
int cnt;
bool vis[10];
int f(int x){
	if(x==0){
		return 6;
	}
	int num=0;
	while(x>0){
		num+=t[x%10];
		x/=10;
	}
	return num;
}
int main(){
	int n;
	cin>>n;
	n-=4;
	for(int a=0;a<=999;a++){
		for(int b=0;b<=999;b++){
			if(f(a)+f(b)+f(a+b)==n){
				if(a==b&&vis[a]){
					continue;
				}
				cnt++;
				//cout<<f(a)<<' '<<f(b)<<' '<<f(a+b)<<"\n";
				//cout<<a<<'+'<<b<<'='<<a+b<<"\n";
			}
			if(a==b){
				if(!vis[a]){
					vis[a]=true;
				}
			}
		}
	}
	cout<<cnt;
	return 0;
} 
2023/8/6 18:54
加载中...