你把循坏在开大一点,让i最大为一千
by Randyhoads @ 2017-08-19 21:04:28
```cpp
#include <cstdio>
#include <cstring>
int a[2000]={6,2,5,5,4,5,6,3,7,6};
int n,ans;
int main(){
scanf("%d",&n);
n-=4;
for(int i=10;i<=2000;i++)
{
a[i]=a[i/10]+a[i%10];
}
for(int i=0;i<=999;i++)
{
for(int j=0;j<=999;j++)
{
if((a[i]+a[j]+a[i+j])==n)
ans++;
}
}
printf("%d",ans);
return 0;
}
```
by Administrator2004 @ 2017-08-19 21:04:59
@[liuqy](/space/show?uid=53333)
by Administrator2004 @ 2017-08-19 21:05:23
@[Administrator2004](/space/show?uid=41421) 谢谢
by liuqy @ 2017-08-19 21:28:23
这样就对了
```cpp
#include <cstdio>
#include <cstring>
int a[100000];
int n,ans;
int main(){
scanf("%d",&n);
memset(a,0,sizeof a);
a[0]=6;
a[1]=2;
a[2]=5;
a[3]=5;
a[4]=4;
a[5]=5;
a[6]=6;
a[7]=3;
a[8]=7;
a[9]=6;
for(int i=10;i<=10000;i++){
int r=i;
while(r>0){
a[i]+=a[r%10];
r/=10;
}
}
for(int i=0;i<=1000;i++){
for(int j=0;j<=1000;j++){
if((a[i]+a[j]+a[i+j]+4)==n)ans++;
}
}
printf("%d",ans);
return 0;
}
```
by Randyhoads @ 2017-08-19 21:28:25
@liuqy
by Randyhoads @ 2017-08-19 21:32:52
改完了,谢谢
by liuqy @ 2017-08-19 21:33:40
```cpp
#include <cstdio>
#include <cstring>
int a[110000];
int n,ans;
int main(){
scanf("%d",&n);
for(int i=1;i<=1000;i++)a[i]=100000;
a[0]=6;
a[1]=2;
a[2]=5;
a[3]=5;
a[4]=4;
a[5]=5;
a[6]=6;
a[7]=3;
a[8]=7;
a[9]=6;
for(int i=10;i<=2000;i++){
int r=i;
a[i]=0;
while(r!=0){
a[i]+=a[r%10];
r/=10;
}
}
ans=0;
for(int i=0;i<=1000;i++){
for(int j=0;j<=1000;j++){
if((a[i]+a[j]+a[i+j]+4)==n)ans++;
}
}
printf("%d",ans);
return 0;
}
```
by liuqy @ 2017-08-19 21:34:09
我是最帅的
by zjc0201 @ 2017-08-20 10:59:09
?
by clanned_z @ 2017-08-23 13:15:07