#include<iostream>
using namespace std;
int main()
{
int n,i,m;
cout<<"请输入一个数"<<endl;
cin>>n;
for(i=2;i<=n;)
{for(m=1;m<=i;m++)
{if(i%m&&!n%i)
cout<<i<<endl;
else
i++;}}
}
哪里错了?没语法错误。。就是运行输入一个数之后没反应???求解~~~
C++编程求一个数的所有素数因子
答案:3 悬赏:60 手机版
解决时间 2021-03-07 19:06
- 提问者网友:爱了却不能说
- 2021-03-07 11:05
最佳答案
- 五星知识达人网友:西风乍起
- 2021-03-07 11:28
没有语法错,但算法有问题。请看下面程序:
#include<iostream>
using namespace std;
int main()
{
int n,n0,i=2;
cout<<"请输入一个数"<<endl;
cin>>n;
n0=n;
while(n0>=i)
{
if(n0%i==0)
{
cout <<i <<" ";
n0 /= i;
}
else
i++;
}
if(n0!=1)
cout <<n0;
cout <<endl;
}
#include<iostream>
using namespace std;
int main()
{
int n,n0,i=2;
cout<<"请输入一个数"<<endl;
cin>>n;
n0=n;
while(n0>=i)
{
if(n0%i==0)
{
cout <<i <<" ";
n0 /= i;
}
else
i++;
}
if(n0!=1)
cout <<n0;
cout <<endl;
}
全部回答
- 1楼网友:一把行者刀
- 2021-03-07 13:38
#include<iostream>
using namespace std;
int main()
{
int n,n0,i=2;
cout<<"请输入一个数"<<endl;
cin>>n;
n0=n;
while(n0>=i)
{
if(n0%i==0)
{
cout <<i <<" ";
while(n0%i==0)
n0 /= i;
}
i++;
}
cout <<endl;
system("pause");
}
这样可以避免重复输出
- 2楼网友:上分大魔王
- 2021-03-07 12:01
没有语法错,但算法有问题。请看下面程序:
#include<iostream>
using namespace std;
int main()
{
int n,n0,i=2;
cout<<"请输入一个数"<<endl;
cin>>n;
n0=n;
while(n0>=i)
{
if(n0%i==0)
{
cout <<i <<" ";
n0 /= i;
}
else
i++;
}
if(n0!=1)
cout <<n0;
cout <<endl;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯