C语言实验——余弦
时间: 1ms 内存:64M
描述:
输入n的值,计算cos(x)。
输入:
多组测试数据。
每组测试数据2个数,包括x和n。第一数据为x,第二个数据为n。
输出:
输出cos(x)的值,保留4位小数。
示例输入:
0.0 100
0.123 100
示例输出:
1.0000
0.9924
提示:
参考答案(内存最优[748]):
#include<stdio.h>
double jin(int n)
{
int i;
double s=1;
for(i=2;i<=n;i++)
s*=i;
return s;
}
double min(double x,int n)
{
double s=1;
int i;
for(i=0;i<n;i++)
s*=x;
return s;
}
double cos(double x,int n)
{
int i;
double s=1;
for(i=1;i<=n;i++)
{
s+=min(-1,i)*min(x,i*2)/jin(i*2);
}
return s;
}
int main()
{
int n;
double x;
double s;
while(scanf("%lf%d",&x,&n)!=EOF)
{
s=cos(x,n);
printf("%.4lf\n",s);
}
return 0;
}
参考答案(时间最优[0]):
#include <stdio.h>
int main()
{
double x, sum, t, item;
int n, i;
while (scanf("%lf %d", &x, &n)==2)
{
t = x*x;
item = 1.0;
sum = 1.0;
for (i=1; i<=n; i++)
{
item *= -t;
item /= (i*2-1)*(i*2);
sum += item;
}
printf("%.4lf\n", sum);
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
