游客 Signup | Login
中文 | En

1056 - sqrt log sin 函数

小明的老师给小明布置了这样一道作业题,一个序列符合以下定义:

现问你这个序列的第n项是多少?

Input

输入包含多组测试数据。每组输入一个整数n(0<=n<=1000000),当输入-1时,输入结束。

Output

对于每组输入,输出第n项的值,结果请mod 1000000。

Examples

Input

0
-1

Output

1

Solution 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;
}

Solution 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;
}
Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题