子序列的和(subsequence)

【题目描述】

输入两个正整数n和m,(n<m<106),输出1/n2 + 1/(n+1)2 + ... + 1/m2,保留5位小数。输出包含多组数据,结束标记为n=m=0。提示:本题有陷阱。

【样例输入】

  2 4 

  65536 655360

  0 0

【样例输出】

  0.42361

  0.00001

【代码示例】

复制代码
#include<cstdio>
#include<cmath>
using namespace std;

int main(){
    int m, n; 
    double sum;
    long long t; // long long 范围是19位数字。 
    while(scanf("%d %d", &n, &m)==2 && m!=0 && n!=0){
        sum=0;
        for(int i=n; i<=m; i++){
            t = pow(i,2); // 必须保证结构为long long类型。 
            sum += 1.0/t;
        }
        printf("%.5lf", sum);
    }
    return 0;
}
复制代码

 

posted @   Hi,小董先生  阅读(139)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示