A37143. 分解质因数提示信息:质数:是一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数。最小的质数是2,1不是质数。合数:一个正整数,如果除1和它本身以外,还能被其他正整数整除,叫合数。如6是合数,除了1和6以外,还能被2和3整除。 分解质因数:每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数(分解质因数只针对合数)…
填空题
困难
知识点
题目描述
分解质因数
提示信息:
质数:是一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数。最小的质数是2,1不是质数。
合数:一个正整数,如果除1和它本身以外,还能被其他正整数整除,叫合数。如6是合数,除了1和6以外,还能被2和3整除。
分解质因数:每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数(分解质因数只针对合数)。如合数12=2×2×3 。
分解质因数的方法是先用这个合数的最小质因数去除这个合数,结果若是一个质数就不再除下去;若是一个合数就继续按原来的方法从最小质因数除起,直至最后除得的结果是一个质数 。
例如:
合数18分解质因数,首先用最小质因数2去除,除后结果为合数9,继续用最小质因数3去除,除后结果为质数3,就不再除下去。所以18的质因数为2、3、3,故质因数的个数为3;
题目描述:
给定一个合数N,将N分解质因数后,输出其质因数个数。
输入描述:
输入一个合数N
输出描述:
将N分解质因数后,输出质因数个数
样例输入:
18
样例输出:
3
参考答案
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
int n;
cin >> n;
cout << n << "=";
for (int i = 2; i <= n; i++) {
// cout<<n<<endl;
while (n % i == 0) {
cout << i;
n = n / i;
// cout<<n<<endl;
if (n != 1)
cout << "*";
}
}
return 0;
}
上一题
下一题