题目描述
小明的老师给小明布置了这样一道作业题,一个序列符合以下定义:
现问你这个序列的第n项是多少?
输入
输入包含多组测试数据。每组输入一个整数n(0<=n<=1000000),当输入-1时,输入结束。
输出
对于每组输入,输出第n项的值,结果请mod 1000000。
样例输入 Copy
0
-1
样例输出 Copy
1
代码
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[1000010];
int main()
{
a[0]=1;
for(int i=1;i<1000001;i++)
{
a[i]=(a[int(i-sqrt(i+0.0))]+a[int(log(i+0.0))]+a[int(i*sin(i)*sin(i))])%1000000;
}
int n;
while(cin>>n)
{
if(n==-1)
break;
printf("%d\n",a[n]);
}
return 0;
}