1379: 【提高】素数分解
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:103
解决:52
题目描述
素数,又称质数,是指除 1 和其自身之外,没有其他约数的正整数。例如 2、3、5、13 都是素数,而 4、9、12、18 则不是。
虽然素数不能分解成除 1 和其自身之外整数的乘积,但部分素数却可以分解成更多素数的和。
你需要编程 求出一个正整数最多能分解成多少个互不相同的素数的和。
例如,21 = 2 + 19是21的合法分解方法。21 = 2 + 3 + 5 + 11则是分解为最多素数的方法。
再比如:128,最多可以分解为9个素数的和。
虽然素数不能分解成除 1 和其自身之外整数的乘积,但部分素数却可以分解成更多素数的和。
你需要编程 求出一个正整数最多能分解成多少个互不相同的素数的和。
例如,21 = 2 + 19是21的合法分解方法。21 = 2 + 3 + 5 + 11则是分解为最多素数的方法。
再比如:128,最多可以分解为9个素数的和。
输入
n (10≤n≤200)。
输出
n 最多能分解成多少个不同的素数的和。
样例输入 复制
21
样例输出 复制
4
提示
样例1:
21
样例2:
128
样例输出
样例1:
4
样例2:
9
来源
2016江苏省青少年信息学奥林匹克竞赛复赛
21
样例2:
128
样例输出
样例1:
4
样例2:
9
来源
2016江苏省青少年信息学奥林匹克竞赛复赛