作业比赛编号 : 100000590 - 《算法笔记》5.3小节——数学问题->分数的四则运算 问题 A: 分数矩阵

作业比赛编号 : 100000590 - 《算法笔记》5.3小节——数学问题->分数的四则运算 问题 A: 分数矩阵

在这里插入图片描述
献给理解能力和我一样堪忧的你(不差者忽略):
理解能力堪忧的我最初竟没理解题意,最终经过悟,才最终懂得意思,发现矩阵的数关于对角线对称

在这里插入图片描述

正确代码:
#include<stdio.h>
int main()
{
    float N;
    while(scanf("%f",&N)!=EOF){ 
        if(N==0) break;
        double sum=0;
        sum+=N;
        for(int i=0;i<N-1;i++)
        {
            sum=sum+(i+1)*2.0*1/(N-i); 
             
        }
       printf("%.2lf\n",sum);    
    }
    return 0;
}
/**************************************************************
    Problem: 1067
    User: #########
    Language: C++
    Result: 正确
    Time:6 ms
    Memory:1192 kb
****************************************************************/
错误代码
#include<stdio.h>
int main()
{
    float N;
    while(scanf("%f",&N)!=EOF){ 
        if(N==0) break;
        double sum=0;
        double fen=0;
        sum+=N;
        for(int i=0;i<N-1;i++)
        {
            fen=1/(N-i);
            sum=sum+(i+1)*2.0*fen;      
        }
       printf("%.2lf\n",sum);    
    }
    return 0;
}
/**************************************************************
    Problem: 1067
    User: ########
    Language: C++
    Result: 答案错误
****************************************************************/

仅for里的内容不同,由于分步运算会导致当运算的数据量很大时产生错误,由此得到提示,当进行大量数据运算时尽量不要分步骤进行

for(int i=0;i<N-1;i++)
{
      fen=1/(N-i);
      sum=sum+(i+1)*2.0*fen;      
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值