Problem D: 求余弦值
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 387 Solved: 107
[ Submit][ Status][ Web Board]
Description
输入1个实数x和1个正整数n,根据如下公式求cos(x):
注意:式中的x是弧度值。
Input
输入1个实数x,1个正整数n。输入的x是角度值。
Output
根据给定的公式,求前n项的结果。输出6位小数。
Sample Input
30 4
Sample Output
0.866025
#include <stdio.h>
#include <stdlib.h>
#define Pi 3.1415926
int main()
{
int i, j, n;
double x, sum = 1.0;
scanf("%lf%d", &x, &n);
x *= Pi / 180;
int a = 1, b;
double c = 1.0;
for(i = 1; i <= n + 1; i++) // 这里为什么n和n + 1没有区别
{
a *= -1;
for(j = 1, b = 1; j <= 2 * i; j++) // b要初始化的
b *= j;
c *= x * x;
sum += (a * c) / b;
}
printf("%lf", sum);
return 0;
}