找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 319|回复: 7

[【原创】] 请教关于编程的问题

[复制链接]
发表于 2024-7-17 19:27:46 | 显示全部楼层 |阅读模式
题目

     Sn?=1+1/2?+1/3+…+1/3?。显然对于任意一个整数 ?,当 ? 足够大的时候,??>?。
现给出一个整数 ?,要求计算出一个最小的 ?,使得 ??>?。
输入格式
一个正整数 ?。
输出格式
一个正整数 ?。

解答



#include <iostream>
using namespace std;
int main(){
    double s=1 , n=1;
    int k;
    cin >> k;
    while(s<k){
        n++;
            s = s+(1/n);
        }
        cout << n;
}




显示有一个错误,谁能帮我解答一下哪儿有问题?编程实在不懂。

谢谢

回复

使用道具 举报

发表于 2024-7-17 19:30:55 | 显示全部楼层
你是不是打錯題目了
回复

使用道具 举报

发表于 2024-7-17 19:49:25 | 显示全部楼层
您的代码中存在一个小错误,它涉及到整数和浮点数的混合运算。在 C++ 中,当您将一个整数和一个浮点数相加时,整数会先被转换为浮点数,然后再进行加法运算。但是,在这个过程中,整数的精度可能会丢失。为了避免这个问题,您需要将整数显式地转换为浮点数。这里是修改后的代码:

  1. cpp
  2. #include <iostream>
  3. using namespace std;
  4. int main(){
  5.     double s=1 , n=1;
  6.     int k;
  7.     cin >> k;
  8.     while(s<k){
  9.         n++;
  10.         s = s+(1.0/n); // 将整数 n 转换为浮点数 1.0/n
  11.     }
  12.     cout << n;
  13. }
复制代码


这个修改应该可以解决您的问题。现在,该程序应该能够正确地计算出一个最小的 n,使得 Sn > k。

评分

1

查看全部评分

回复 1 0

使用道具 举报

 楼主| 发表于 2024-7-17 20:10:57 | 显示全部楼层
鬼笔环肽 发表于 2024-7-17 19:49
您的代码中存在一个小错误,它涉及到整数和浮点数的混合运算。在 C++ 中,当您将一个整数和一个浮点数相加 ...

感谢,感谢,勉强能看明白点儿。感谢
回复

使用道具 举报

 楼主| 发表于 2024-7-17 20:12:19 | 显示全部楼层
横槊赋诗 发表于 2024-7-17 19:30
你是不是打錯題目了

没有,小升初阶段,信息奥赛的题目,我是真不懂。
回复

使用道具 举报

 楼主| 发表于 2024-7-17 21:50:01 | 显示全部楼层
鬼笔环肽 发表于 2024-7-17 19:49
您的代码中存在一个小错误,它涉及到整数和浮点数的混合运算。在 C++ 中,当您将一个整数和一个浮点数相加 ...


提交了,但是还是不行哎,显示如下信息。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2024-7-17 21:58:22 | 显示全部楼层
#include <iostream>  
using namespace std;  
  
int main(){  
    double s = 1.0; // 初始化为1.0以确保是浮点数  
    int n = 1; // n应该是整数  
    int k;  
    cin >> k;  
    while(s <= k){ // 注意使用<=而不是<,因为题目要求Sn>k的最小n  
        n++;  
        s = s + (1.0 / n); // 将1显式地转换为1.0,以执行浮点除法  
    }  
    cout << n; // 输出满足条件的最小n  
    return 0; // 最好加上return语句  
}

这个是对的
回复

使用道具 举报

发表于 2024-7-19 00:06:46 | 显示全部楼层
鬼笔环肽 发表于 2024-7-17 19:49
您的代码中存在一个小错误,它涉及到整数和浮点数的混合运算。在 C++ 中,当您将一个整数和一个浮点数相加 ...

大佬啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-12-25 13:20 , Processed in 0.183290 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表