zoukankan      html  css  js  c++  java
  • 子序列的和

    子序列的和

     

    ①程序

     

    #include<iostream>
    using namespace std;
    int main(void)
    {
    int a,b,kase=0;
    while(scanf("%d%d",&a,&b)!=EOF&&(a||b))
    {
    float s=0;
    for(int i=a;i<=b;i++)
    s+=1/(i*i);
    printf("Case %d: %.5f ",++kase,s);
    }
    return 0;
    }

     

     运行结果

     检查错误

     s+=1/(i*i); 一句类型转换出现错误,尝试把此句改为s+=1.0/(i*i);测试如下:

    case1正确但是case2不对,观察第二组数据,普通的int型数据无法表示最大值达到106*106=1012级别的整数需要使用long long型同时也应该将float改为double,类型转换不靠谱的话使用强制类型转换。将程序中的int型全部改成long long,float改为double,类型转换使用强制转换。

    ②程序修改如下

     

    #include<iostream>
    using namespace std;
    int main(void)
    {
    int kase=0;
    long long a,b;
    while(scanf("%lld%lld",&a,&b)!=EOF&&(a||b))
    {
    double s=0.0;
    for(long long i=a;i<=b;i++)
    s+=1.0/(double)(i*i);
    printf("Case %d: %.5f ",++kase,s);
    }
    return 0;
    }

     测试

     

  • 相关阅读:
    利用NABCD模型进行竞争性需求分析
    团队组建及项目启动
    结对项目
    归档二
    归档(1)
    自定义cell
    CoreData(数据持久化的方式)
    autoLayout(相对布局)二
    autoLayout (相对布局)1()
    细节知识点的记忆
  • 原文地址:https://www.cnblogs.com/slay/p/9324557.html
Copyright © 2011-2022 走看看