这算什么算法呢?? 模拟吧,反正很简单,代码:
#include <stdio.h>
#include <stdlib.h>
int num[2000] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6};
int ans;
int main(int argc, char **argv)
{
int i, j;
int n;
scanf("%d", &n);
n -= 4;
for(i = 10; i < 2000; i++){
num[i] = num[i / 10] + num[i % 10];
}
for(i = 0; i < 1000; i++){
if(num[i] > n){
continue;
}
for(j = 0; j < 1000; j++){
if(num[i] + num[j] + num[i + j] == n){
ans++;
}
}
}
printf("%d\n", ans);
return 0;
}