试用编程求F=1-/3+1/5-1/7+1/9-1/11+1/13-……1/99的

试用编程求F=1-/3+1/5-1/7+1/9-1/11+1/13-……1/99的急求!!!... 试用编程求F=1-/3+1/5-1/7+1/9-1/11+1/13-……1/99的急求!!! 展开
 我来答
般码宫
2018-01-11 · 子非鱼,安知阴阳鱼乐
般码宫
采纳数:221 获赞数:458

向TA提问 私信TA
展开全部

java版本的

public class Test{


    public static void main(String[] args) {
        System.out.println(sumA(99));
    }

    public static double sumA(int max) {

        double sum = 0;

        // 符号位
        int x = 1;

        for (int i = 1; i <= max; i += 2) {
            sum += (1.0 / i * x);
            x = -x;
        }

        return sum;
    }

}

AProZhou
2018-01-11 · TA获得超过262个赞
知道小有建树答主
回答量:135
采纳率:92%
帮助的人:69.9万
展开全部

#include<iostream>

using namespace std;

#include <cmath> 

int main()

{

double sum=0;

for(int i=1;i<=50;i++)

{

sum=sum+pow(-1,i+1)*(1.0/(2*i-1));

//cout<<pow(-1,i+1)*(1.0/(2*i-1))<<"\n";

}

cout<<"1-1/3+1/5-1/7+…+1/97-1/99="<<sum;

return 0;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dark等待
2018-01-11 · TA获得超过252个赞
知道小有建树答主
回答量:427
采纳率:87%
帮助的人:131万
展开全部
//***********.NET版的***************//
        double F = 1;//申明F的初始值
        int j = 1;//判断是单次循环需要是减号,双次需要加好
        for (int i = 3; i < 100; i = i + 2)//循环体从3开始每次增加2,最后大于99就结束循环
        {
            if (j % 2 == 1)//单次循环
            {
                F = F -Convert.ToDouble( 1) /Convert.ToDouble( i);//要转化成双精度的,因为上面申明的时候都是整形如果没有转化会计算出来一直都是1
            }
            else//双次循环
            {
                F = F + Convert.ToDouble(1) / Convert.ToDouble(i);//要转化成双精度的,因为上面申明的时候都是整形如果没有转化会计算出来一直都是1
            }
            j++;//叠加次数
        }

最终结果F=0.78039866314775275
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式