勤修戒定慧熄灭贪嗔痴 2023-03-18 23:21 采纳率: 71%
浏览 9

输出素数提示i错误如何解决


#include <iostream>
using namespace std;
int main() {
    long m;
    cout<<"输入一个数字:\n";
    cin>>m;
     for(int i=2;i<m;i++)
     if(m%i==0)
     break;
     if(m==i)
     cout<<"m is a prime\n";
     else
        cout<<"m is't prime\n";
}
  • 写回答

5条回答 默认 最新

  • 追cium 2023-03-18 23:33
    关注

    参考GPT和自己的思路:

    在该程序中,输出素数的代码有一个逻辑错误。正确的代码应该是将判断素数的部分放在一个循环中,并在循环结束后进行判断。代码如下所示:

    
    #include <iostream>
    using namespace std;
    int main() {
        long m;
        cout<<"输入一个数字:\n";
        cin>>m;
         int i;
         for(i=2;i<m;i++)
         if(m%i==0)
         break;
         if(m==i)
         cout<<"m is a prime\n";
         else
            cout<<"m is't prime\n";
    }
    

    这个程序会先询问用户输入一个数字,然后从2开始一直循环到该数字的前一位。在循环中,如果某个数能够被该数字整除,就说明该数字不是素数,跳出循环。如果循环结束后没有找到能够整除该数字的数,则说明该数字是素数。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月18日

悬赏问题

  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数