NYOJ 91 阶乘之和
很经典的一道题。
阶乘和有个特点就是前n项和总比第n+1项小,这题就需要这个性质。
附ac代码:
#include <stdio.h>
int a[11];
int jie(int n){ //计算阶乘
int i, s = 1;
for(i = 2; i <= n; ++i)
s *= i;
return s;
}
int main(){
int i;
for(i = 1; i != 11; ++i)
a[i] = jie(i);
int t, n;
scanf("%d", &t);
while(t-- && scanf("%d", &n)){
for(i = 9; i; --i)
if(n >= a[i]) n -= a[i];
n == 0 ? printf("Yes\n") : printf("No\n");
}
return 0;
}
浙公网安备 33010602011771号