qq_43473753
Yes ,I can !
采纳率85.7%
2019-01-04 17:51 阅读 2.4k

输入一个整数,输出该所有整数的素数因子。大佬看看逻辑错哪了??

#include "pch.h"
#include
using namespace std;
int main()
{
int a, m, i = 2, j;
cout << "请输入一个整数" << endl;
cin >> a;
while(i<a)
{
for (j = 2; j <= a; j++)
{
if ((a%j == 0) || (a%j == 1))
{
cout << j << " ";
break;
}
}
if (a != j)
a = a / j;
else
break;
}
return 0;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    weixin_41461277 _ZGq 2019-01-04 18:01

    提示:
    1. m根本没有作用。
    2. i的作用是什么?把i<a改成0<a。

    根本问题:把if ((a%j == 0) || (a%j == 1))中的|| (a%j == 1)去掉。
    代码如下:
    #include "pch.h"
    #include <iostream>
    using namespace std;
    int main()
    {
    int a, j;
    cout << "请输入一个整数" << endl;
    cin >> a;
    while(0<a)
    {
    for (j = 2; j <= a; j++)
    {
    if (a%j == 0)
    {
    cout << j << " ";
    break;
    }
    }
    if (a != j)
    a = a / j;
    else
    break;
    }

    点赞 评论 复制链接分享

相关推荐