Description
还记得什么是质因数吗?
质因数就是一个数的约数(b能整除a,b称为a的约数),并且是质数(又称素数)。
比如8=2×2×2
,2
就是8
的质因数;
12=2×2×3
,2
和3
就是12
的质因数。
把一个式子以12=2×2×3
的形式表示,叫做分解质因数。
分析:对n
进行分解质因数,应先找到一个最小的质数i
,然后按下述步骤完成:
- 如果这个质数恰等于
n
,则说明分解质因数的过程已经结束,输出即可。 - 如果
n > i
,但n
能被i
整除,则应打印出i
的值,并用n
除以i
的商作为新的正整数,重复执行第一步。 - 如果
n
不能被i
整除,则用i+1
作为i
的值,重复执行第一步。
Input
输入示例:
10
50
90
Output
(输出请严格对照输出示例格式,不要包含空格等无关字符)输出示例:
2*5
2*5*5
2*3*3*5
Java解决方法
import java.util.Scanner;
public class Main {
public static void solve1(int n) {
for (int i = 2; i <= n; i++) {
if (i == n) {
System.out.print(i);
}
if (n > i && (n % i == 0)) {
System.out.print(i + "*");
solve1(n / i);
break;
}
}
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
solve1(sc.nextInt());
}
}
Python解决方法
- By - old_uncle
n=int(input())
m=n
def func(n):
for i in range(2,n+1):
if (n%i==0):
print(i,end='')
n/=i
if n!=1:
print('*',end='')
return func(int(n))
func(m)
其他
- 如果您想发布自己的算法代码,欢迎到这里来和我们一起讨论!https://dodd.bingyishow.top/d/7--
版权属于:ic翼
本文链接:https://bingyishow.top/algorithm/59.html
您必须遵守 署名-非商业性使用-相同方式共享 CC BY-NC-SA 使用这篇文章
12 条评论
int main()
{
}
没有考虑n=1的情况可附加
现在好了点
PICK!
要向大佬学习୧(๑•̀⌄•́๑)૭
算不上大佬,一起学习! ::aojo:kaixin-1::
初学者,写的不好
我刚看到您评论了很多。但是页面没有显示。是哪里出错了吗? ::aojo:jingyin::
手机上说网络不好(╥ω╥`)
感觉很可能是我博客的问题。之前也有人反映评论不上。我去排查一下。
我现在连评论都发不出去