您的位置:首页 > 其它

连续地分解质因数

2017-12-16 10:05 218 查看
连续的数的因式分解   第二次作业有一题分解质因数,这次需要各位找出一个数的连续质因数,如630=3*5*6*7;那么它有3个连续的质因数。输入小于2^64eg1输入· 630
输出 5*6*7
eg2 输入520
        输出 4*5
#include<stdio.h>
#include<stdlib.h>
#define N 100
void main()
{
int num, i = 2, j = 0, a
, flag = 0;    //flag作为输入判断输入的数是否是素数的标志
a[0] = 0;
puts("Please input the number:");
while (scanf("%d", &num))
{
puts("Resolve into factor of prime number:");
printf("%d=", num);
do
{
if (num <= 1)      //若输入1,0或负数,输出输入错误
{
flag = 2;
puts("Input error!");
break;
}
if (num%i != 0)
{
i++;
continue;
}
else
{
do
{
if (i == num&&a[0] == 0)
{
flag = 1;
break;
}
a[j] = i;
num = num / i;
j++;
} while (num%i == 0);
}
i++;
} while (i <= num);
if (flag == 1)
printf("1*%d", num);
if (flag == 0)
{
for (i = 0; i < j - 1; i++)
printf("%d*", a[i]);
printf("%d", a[j - 1]);
}
puts("\n\nPlease input the number:");
}
system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  分解质因数