首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问 求整数的所有因子

2012-02-16 
请教求整数的所有因子【题目】下列程序的功能是:输入一个整数,求出该整数的所有的因子,要求除1外,所求出的因

请教 求整数的所有因子
【题目】下列程序的功能是:输入一个整数,求出该整数的所有的因子,要求除1外,所求出的因子都是质数(素数)。如72=1*2*2*2*3*3。
含有错误的源程序如下:
#include <iostream>  
using namespace std;  
void fact(int n); //求n的各个因子(除1外,所有因子都为素数),并依次输出之  
void main()  
{  
int x;  
cout<<"输入一个正整数:";  
cin>>x;  
cout<<"该整数所求的因子为:"<<endl;  
fact(&x);  
}  
void fact(int n)  
{  
int flag=true; //flag为是否继续找因子的标志  
cout<<n<<"=1*"; //1是任意整数的因子,所以进入函数后直接输出因子1  
if(flag)  
{  
for(int j=2;j<n;j++)  
if(n%j!=0) break; // 这句是什么意思? [color=#FF0000][/color]  
if(j<n)  
{  
cout<<j<<"*";  
n%=j;  
}  
else flag=false;  
}  
cout<<n<<endl;  

我的问题是:if (n%j==0) break ; 这句是什么意思?  


[解决办法]
for(int j=2;j<n;j++)
if(n%j!=0) break; // 如果j能被n整除(j就是n的因子了),跳出循环
[解决办法]

C/C++ code
for(int j=2;j<n;j++)    if(n%j!=0) break; // 如果j能被n整除(j就是n的因子了),跳出循环
[解决办法]
................我们考试怎么没题目,。

[解决办法]
我的问题是:if (n%j==0) break ; 这句是什么意思?
假如n%j 取余为0 就跳出循环
[解决办法]
if(n%j!=0) break; // 这这里主要是要确定j的值啊。
后面的语句才好执行啊。。。
[解决办法]
。。。。你理解错了吧。
for 里面只有一个if.

热点排行