正整数分解成质因数
2017-05-12 23:00
691 查看
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
一、质因数:素数
二、正整数n分解的思路,先找一个最小的质因数m,
1)若m==n,则分解完毕打印输出,否则2)
2)若m<n,且n%m==0,打印出m的值,除数n/m判断是否能被m整除,若能,重复2),不能则3)
3)m++,执行1)
那么因子为什么不用判断是否为质数呢?因为第2)步的重复执行,把不是质数的数pass掉了,比如20的因子4不是质数,但它已经被2*2取代了
一、质因数:素数
二、正整数n分解的思路,先找一个最小的质因数m,
1)若m==n,则分解完毕打印输出,否则2)
2)若m<n,且n%m==0,打印出m的值,除数n/m判断是否能被m整除,若能,重复2),不能则3)
3)m++,执行1)
那么因子为什么不用判断是否为质数呢?因为第2)步的重复执行,把不是质数的数pass掉了,比如20的因子4不是质数,但它已经被2*2取代了
#include <stdio.h> int main() { int n, m; printf("Input a positive integer: "); scanf("%d", &n); printf("%d=", n); for(m=2; m<=n; m++){ while(n % m == 0){ //if(n==m) break;//注释掉这句,最后的*1才会输出 n = n / m; printf("%d*", m); } }//最终n==1,即m>n,退出循环 printf("%d",n); return 0; }
相关文章推荐
- 分解正整数的质因数
- 将整数分解成若干个质因数.
- 分解正整数成质因数
- POJ - 2447 RSA (PollarRho大整数的因数分解)
- 输入一个100以内的正整数,将其分解质因数后输出
- 因数分解,把一个整数分解成质数相乘的形式
- 2429 GCD & LCM Inverse 大整数分解质因数
- 用java语言实现 将输入的正整数分解质因数。例如:输入90,打印出90=5*3*3*2。
- 将正整数分解成质因数
- 因数分解 因数分解是十分基本的数学运算,应用广泛。下面的程序对整数n(n>1)进行因数分解。 比如,n=60, 则输出:2 2 3 5。请补充缺失的部分。
- 因数分解,把一个整数分解成质数相乘的形式
- 因数分解 因数分解是十分基本的数学运算,应用广泛。下面的程序对整数n(n>1)进行因数分解。 比如,n=60, 则输出:2 2 3 5。请补充缺失的部分。
- 50道编程小题目之【分解质因数】
- poj 2917 Diophantus of Alexandria 因数分解解1/x+1/y=1/n
- 【算法题】连续整数分解
- 整数分解为2的幂
- 将整数分解为连续自然数之和
- 整数分解使得积最大
- 阶乘的整数分解 fzu1753
- POJ2429 GCD & LCM Inverse pollard_rho大整数分解