虽然错改了,但并不知道为什么错了?求助求助
查看原帖
虽然错改了,但并不知道为什么错了?求助求助
67618
haooo楼主2020/7/17 09:45
#include<bits/stdc++.h>
using namespace std;
int vis[10005];
int need[10]={6,2,5,5,4,5,6,3,7,6};
int f(int k){
	//if(k==0)return 6;
	int tot=0;
	if(vis[k]!=0)	return vis[k];

	while(k){
		tot+=need[k%10];
		k/=10;
	}
	return vis[k]=tot;
}
int main(){
	int n;
	int tot=0;
	vis[0]=6;
	cin>>n;
	for(register int i=0;i<=2000;i++){
		for(register int j=0;j<=2000;j++){
		//	if(i==1&&j==0)	cout<<f(i)<<" "<<f(j)<<" "<<f(i+j)<<"\n";
		//	if(i==0&&j==1)	cout<<f(i)<<" "<<f(j)<<" "<<f(i+j)<<"\n";
			if(f(i)+f(j)+f(i+j)+4==n){
				tot++;
			}
		}
		cout<<f(0)<<"\n";
	}
	cout<<tot;
	return 0;
}

为什么这个时候f(0)会变啊?

把函数f()中的那个注释去掉就不是乱码了???

2020/7/17 09:45
加载中...