问题描述
- 将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5
-
#include
using namespace std;void fnabs(int n)
{
int i;
for(i=2;i<=n;i++)
{
while(n%i==0)
{n/=i;
cout<<"*"<<i;}
}
}int main()
{
int n;
n=90;
cout<<n<<"=";
fnabs(n);
return 0;
}现在打印出来的结果是90=*2*3*3*5,怎么才能去掉前面的第一个*
解决方案
#include
using namespace std;
void fnabs(int n)
{
int i;
int count=0;
for(i=2;i<=n;i++)
{
while(n%i==0)
{n/=i;
if(count++)
cout<<"*"<<i;}
else
cout<<i;
}
}
int main()
{
int n;
n=90;
cout<<n<<"=";
fnabs(n);
return 0;
}
解决方案二:
#include
using namespace std;
void fnabs(int n)
{
int i;
int count=0;
for(i=2;i<=n;i++)
{
while(n%i==0)
{n/=i;
if(count++)
cout<<"*"<<i;}
else
cout<<i;
}
}
int main()
{
int n;
n=90;
cout<<n<<"=";
fnabs(n);
return 0;
}
解决方案三:
//题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
#include<stdio.h>
int main()
{
?int n,i;
?printf("请输入一个数:");
?scanf("%d",&n);
??printf("%d=&q......
答案就在这里:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
----------------------
解决方案四:
//题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
#include
int main()
{
int n,i;
printf("请输入一个数:");
scanf("%d",&n);
printf("%d=&q......
解决方案五:
#include
using namespace std;
void fnabs(int n)
{
int i;
int count=0;
for(i=2;i<=n;i++)
{
while(n%i==0)
{n/=i;
if(count++)
cout<<"*"<<i;}
else
cout<<i;
}
}
int main()
{
int n;
n=90;
cout<<n<<"=";
fnabs(n);
return 0;
}