(函数)P1149 火柴棒等式
题解:
#include<stdio.h>
int a[10]={6,2,5,5,4,5,6,3,7,6};
int num(int n){ //计算所需火柴棒的个数
int sum=0;
sum+=a[n%10]; //小心特殊情况——0
while(n>9){
n/=10;
sum+=a[n%10];
}
return sum;
}
int main()
{
int n,i,j,ret=0;
scanf("%d",&n);
n-=4;
for(i=0;i<1000;i++){ //循环范围要足够大,不能小于测试数据所包含的范围
for(j=i;j<1000;j++){ //自己写的时候只是循环到100,太小
if(num(i)+num(j)+num(i+j)==n){
if(i==j)ret++;
else ret+=2;
}
}
}
printf("%d",ret);
return 0;
}

浙公网安备 33010602011771号