c语言高手急救:计算以下公式的值:s=1\1^2+1\2^2+1\3^2+……+1\n^2即数列第n项为n的平方的倒数,n由键盘输入(1
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 02:59:05
![c语言高手急救:计算以下公式的值:s=1\1^2+1\2^2+1\3^2+……+1\n^2即数列第n项为n的平方的倒数,n由键盘输入(1](/uploads/image/z/310855-31-5.jpg?t=c%E8%AF%AD%E8%A8%80%E9%AB%98%E6%89%8B%E6%80%A5%E6%95%91%EF%BC%9A%E8%AE%A1%E7%AE%97%E4%BB%A5%E4%B8%8B%E5%85%AC%E5%BC%8F%E7%9A%84%E5%80%BC%EF%BC%9As%3D1%5C1%5E2%2B1%5C2%5E2%2B1%5C3%5E2%2B%E2%80%A6%E2%80%A6%2B1%5Cn%5E2%E5%8D%B3%E6%95%B0%E5%88%97%E7%AC%ACn%E9%A1%B9%E4%B8%BAn%E7%9A%84%E5%B9%B3%E6%96%B9%E7%9A%84%E5%80%92%E6%95%B0%2Cn%E7%94%B1%E9%94%AE%E7%9B%98%E8%BE%93%E5%85%A5%EF%BC%881)
c语言高手急救:计算以下公式的值:s=1\1^2+1\2^2+1\3^2+……+1\n^2即数列第n项为n的平方的倒数,n由键盘输入(1
c语言高手急救:计算以下公式的值:s=1\1^2+1\2^2+1\3^2+……+1\n^2
即数列第n项为n的平方的倒数,n由键盘输入(1
c语言高手急救:计算以下公式的值:s=1\1^2+1\2^2+1\3^2+……+1\n^2即数列第n项为n的平方的倒数,n由键盘输入(1
int main()
{
int n,i;
double s = 0;
scanf("%d",&n);
for(i = 1;i
这个显然不能用整数除法来做,如果用整数除法的话,大概结果总是1.
我也没有什么好的思路,想到一个笨办法,用两个数模拟分数加法,比如 1/2 + 1/3,你就模拟通分运算,== 3/6 + 2/6 = 5/6,分别记录当前分子和分母,然后一直这样计算下去,因为求分母的最小公倍数有现成算法,而且从一到n可以用循环来实现,所以实际编程的难度并不像表面上看起来这么繁琐复杂。最后求得分数后可以再用d...
全部展开
这个显然不能用整数除法来做,如果用整数除法的话,大概结果总是1.
我也没有什么好的思路,想到一个笨办法,用两个数模拟分数加法,比如 1/2 + 1/3,你就模拟通分运算,== 3/6 + 2/6 = 5/6,分别记录当前分子和分母,然后一直这样计算下去,因为求分母的最小公倍数有现成算法,而且从一到n可以用循环来实现,所以实际编程的难度并不像表面上看起来这么繁琐复杂。最后求得分数后可以再用double型出发来求小数解,这样在除法以前是没有计算误差的。
另外你的式子给的是 \ 而实际除法应该为 /, C语言我没有试过两者差别,但是matlab里两者是不一样的,这里请多加注意。
我的方法比较一般,希望有好的方法的话楼主贴出来,大家共同学习。
收起