【发布时间】:2014-02-07 10:15:59
【问题描述】:
我需要编写一个程序来输入一个数字并以如下形式输出其阶乘的素数分解:
4!=(2^3)*(3^1)
5!=(2^3)*(3^1)*(5^1)
问题是我仍然不知道如何得到这个结果。
显然,括号中的每个第一个数字都是升序质数,直到实际的阶乘。括号中的第二个数字是该数字在阶乘中出现的次数。
我想不通的是例如在5!=(2^3)*(3^1)*(5^1)中,2如何只出现3次,3只出现1次,5只出现120次(5!=120)。
感谢提供评论的乐于助人的人,我现在已经解决了这个问题,但我现在无法弄清楚如何在不实际计算阶乘的情况下获取一个数字并以这种格式获得阶乘。
【问题讨论】:
-
您知道
2*2*2 * 3 * 5等于120,对吧?你对此有什么困惑? -
我只是混淆了这些数字的来源。我现在想通了。
-
看看我的答案。它解释了如何在不实际计算阶乘的情况下获得阶乘的素数分解。基本上,您将构成阶乘的所有数字分解并添加相似基数的指数。
标签: primes factorial prime-factoring