欢迎光临散文网 会员登陆 & 注册

合数分解//循环

2023-04-14 21:29 作者:A天外高人A  | 我要投稿


【问题描述】

由数学基本定理可知:任何一个大于1的非素数整数(即合数)都可以唯一分解成若干个素数的乘积。编写程序,从控制台读入一个合数(合数的大小不会超过int数据类型表示的范围),求该合数分解成素数的最小集。该最小素数集由合数分解成的素数组成,并且重复的素数只保留一个。按从小到大的顺序输出求得的最小素数集。

【输入形式】

从控制台输入一个合数。

【输出形式】

在标准输出上按从小到大顺序输出求得的最小素数集,各素数之间以一个空格分隔,最后一个素数后空格可有可无。

【输入样例】

12308760

【输出样例】

2 3 5 29 131

【样例说明】

输入的合数为12308760,该合数分解成的素数乘积为:2*2*2*3*3*3*3*5*29*131。这些素数形成的最小集为:2 3 5 29 131。

【评分标准】

该题要求按照从小到大的顺序输出最小素数集,提交程序文件名为primes.c。

最初的关于i的大循环是一直进行的,内嵌的小循环也没有改变i的值,所以这的形式取素数时产生的素数数列内的素数是不重复的;它只判断素数从小到大能不能整除,能则输出,然后尝试下一个素数;不判断能除几回,也不会重复输出素数。

by 天外高人

合数分解//循环的评论 (共 条)

分享到微博请遵守国家法律