1056 - sqrt log sin 函数
小明的老师给小明布置了这样一道作业题,一个序列符合以下定义:

现问你这个序列的第n项是多少?
题目输入
输入包含多组测试数据。每组输入一个整数n(0<=n<=1000000),当输入-1时,输入结束。
题目输出
对于每组输入,输出第n项的值,结果请mod 1000000。
输入/输出样例
题目输入
0 -1
题目输出
1
C语言解答
#include<stdio.h> #include<math.h> int a[1000001]; int main() { int n; double i,x,y,z; a[0]=1; for(i=1;i<=1000000;i++) { x=i-sqrt(i); y=log(i); z=i*sin(i)*sin(i); a[(int)i]=(a[(int)x]+a[(int)y]+a[(int)z])%1000000; } while(scanf("%d",&n)!=EOF,n!=-1) printf("%d\n",a[n]); return 0; }
C++解答
#include<stdio.h> #include<math.h> int a[1000001]; int main() { int n; double i,x,y,z; a[0]=1; for(i=1;i<=1000000;i++) { x=i-sqrt(i); y=log(i); z=i*sin(i)*sin(i); a[(int)i]=(a[(int)x]+a[(int)y]+a[(int)z])%1000000; } while(scanf("%d",&n)!=EOF,n!=-1) printf("%d\n",a[n]); return 0; }