题目分析
阶乘 分两步 一个乘一个累加
代码
#include<stdio.h> int main() { int i; double j=1,sum=0;//注意了 这么大累加int是不行的运用double防止精度丢失 for(i=1;i<=30;i++) { j*=i; sum+=j; } printf("%.2e\n",sum); return 0;
ps:unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 0~4294967295
long -2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
此题考的是精度问题精度不确定的请参照上表。
0.0分
0 人评分