0
已采纳
王浩然
新手光能
新手光能
for(int i=n-1;i>=2;i--)
{
if(n%i==0)
{
max=i;
break;
}//判断质数,如果是直接跳出循环
}
cout<<n/max<<" "<<max<<" "<<max;
核心代码如上
王浩然在2018-01-20 10:43:40追加了内容
如果循环次数有点多的话,可以循环到n的平方根
1
曾凡一
新手光能
新手光能
直接for循环i从1到sqrt(n)(n的平方根,要调用函数#include<cmath>),然后判断n能不能整除n(if(i%n==0)),之后输出这个数与乘上这个数等于n的那个数,(cout<<i<<' '<<n/i)最后找两个数哪个最大直接输出n/i,因为前面的数是1到n的平方,肯定会小于另外一个数。
0
王子轩
新手光能
新手光能
for (int i=2; i<=(int)(sqrt(n)); i++)
{
if (n%i==0)
{
cout<<i<<" "<<n/i<<" "<<n/i<<endl;
}
}
0
王睿卿
高级守护
高级守护
先找出a因数,再进行判断。见到质因数(请注意2),就判断a/质因数的商是不是质数,是则输出,不是继续判断。
王睿卿在2018-01-19 22:07:23追加了内容
在a和因数间插个的
0
夏天
中级守护
中级守护
for (int i=2; i<=(int)sqrt(n); i++){
if (n%i==0){
cout<<i<<" "<<n/i<<" "<<n/i<<endl;
}
}
0
0