求一个数从小至大的所有因子数程序,求解该程序的Flag
#include <iostream.h>
int main()
{
int n,i=2,flag=0;
cin>>n;
cout<<endl<<n<<"=";
while(n>1)
{
if(n%i==0)
{
if(flag)
cout<<"*";
cout<<i;
n/=i;
flag=1;
}
else
i++;
}
return 0;
} flag 因子
[解决办法]
#include <iostream>
using namespace std;
int main()
{
int n,i=2,flag=0;
cin>>n;
cout<<endl<<n<<"=";
while(n>1)
{
if(n%i==0)
{
//flag的作用就是标记是否第一个输出的元素
//开始的时候flag = 0,当n%i==0也就是i是n的因子时,flag = 1;
//然后当flag==1也就是不是第一个因子的时候,要先输出*再输出i。。
if(flag) cout<<"*";
cout<<i;
n/=i;
flag=1;//
}
else i++;
}
return 0;
}