将正整数分解质因数


💐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💐点点关注,收藏不迷路💐
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Seal^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值