用c++语言,编码实现将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
#include <stdafx.h>
#include <stdlib.h>
int main()
{
int i=2,n;
printf("请输入需要分解的正整数:\n");
scanf("%d",&n);
printf("分解质因数的结果为:\n%d=",n);
while(n>=2)
{
if(n%i==0) {printf("%d*",i);n/=i;}
else i++;
}
printf("\b \b");
system("pause");
return 0;
}
用c语言编写一个分解质因数的程序
以下是一个使用C语言编写的分解质因数的程序:
```c
#include <stdio.h>
void factorize(int n) {
int i;
// 将2作为最小的质因数开始判断
for (i = 2; i <= n; i++) {
// 如果i是n的因子,则将其输出,并将n除以i,继续判断
while (n % i == 0) {
printf("%d ", i);
n = n / i;
}
}
// 如果n大于2,说明n本身就是一个质因数
if (n > 2) {
printf("%d ", n);
}
}
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
printf("质因数分解结果: ");
factorize(num);
return 0;
}
```
这个程序通过循环遍历从2开始的整数,判断每个整数是否是给定正整数num的因子。如果是因子,就将其输出,并将num除以该因子继续判断,直到num无法再被整除。如果num大于2,则说明num本身是一个质因数。
在程序运行时,用户需要输入一个正整数,程序会将其质因数分解结果输出。
请注意,该程序没有添加输入验证,所以输入非正整数可能导致程序错误。为了保证程序的正确性,可以在程序中添加输入验证。
这个程序需要输入一个正整数,然后对其进行分解质因数。首先从2开始,不断尝试能否整除该数,如果能够整除,那么该数就是一个质因数,将其输出并将该数除以该质因数,继续尝试能否整除。如果不能整除,则尝试下一个数。直到该数被分解为1为止。需要注意的是,对于重复的质因数,也需要输出。
#include<stdio.h>
int main()
{
int n;
while(~scanf("%d",&n))
{
int k;//k代表质数
for(k=2;k<n;k++)//给k值赋值一个最小的质数2
{
while(n!=k)
{
if(n%k==0)
{
printf("%d*",k);
n=n/k;
}
else
break;//如果不能整除,那么就让k++(先跳出while循环在k++)
}
}
printf("%d\n",n);
}
return 0;
}