将正整数分解质因数
💐The Begin💐点点关注,收藏不迷路💐
|
质因数概念:任何一个合数都可以写成几个质数相乘的形式。其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。
将一个正整数N(N∈[1,32768])分解质因数,把质因数按从小到大的顺序输出。
输入
一个正整数N(N∈[1,32768])
输出
正整数N分解后的质因数乘积等式
样例输入
90
样例输出
90=2*3*3*5
C语言代码
#include <stdio.h>
int main() {
int n;
scanf(“%d”, &n); // 读取输入的正整数n
printf(“%d=”, n); // 先输出正整数本身和等号
for (int i = 2; i <= n; i++) { // 从最小的质数2开始尝试分解
while (n % i == 0) { // 当n能被i整除时,说明i是n的质因数
n /= i; // 将n除以i,得到剩余的数继续分解
printf(“%d”, i); // 输出当前质因数i
if (n > 1) { // 如果n还大于1,说明还没分解完,输出乘号
printf(“*”);
}
}
}
printf(“\n”);
return 0;
}
C++ 语言代码
#include <iostream
>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
cout << n << “=”; // 输出正整数和等号
for (int i = 2; i <= n; i++) { // 从2开始尝试对n进行分解,2是最小的质数
while (n % i == 0) { // 若n能被i整除,表明i是n的质因数
n /= i; // 用n除以i,继续对剩余的数分解
cout << i; // 输出该质因数i
if (n > 1) { // 如果n还没分解完(大于1),输出乘号
cout << “*”;
}
}
}
cout << endl;
return 0;
}
Java语言代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 获取输入的正整数n
System.out.print(n + “=”); // 输出正整数和等号
for (int i = 2; i <= n; i++) { // 从2开始,依次尝试分解n,2为最小质数
while (n % i == 0) { // 当n能被i整除时,意味着i是n的质因数
n /= i; // 把n除以i,对剩余部分继续分解
System.out.print(i); // 输出这个质因数i
if (n > 1) { // 如果n还没分解完(大于1),输出乘号
System.out.print(“*”);
}
}
}
System.out.println();
}
}
Python语言代码
n = int(input()) # 获取输入的正整数n
print(n, “=”, sep=“”, end=“”) # 输出正整数和等号,不换行
i = 2 # 从最小质数2开始尝试分解
while i <= n: # 只要当前数小于等于要分解的数n
while n % i == 0: // 当n能被i整除时,说明i是n的质因数
n //= i # 将n除以i,取整得到剩余的数继续分解
print(i, end=“”) # 输出当前质因数i
if n > 1: # 如果n还大于1,说明还没分解完,输出乘号
print(“*”, end=“”)
i += 1 # 尝试下一个数
print() # 最后换行
💐The End💐点点关注,收藏不迷路💐
|