二级C编程:将一个数分解成几个质数之积并统计其质数的个数

[复制链接]
查看11 | 回复0 | 2007-1-9 10:56:04 | 显示全部楼层 |阅读模式
#include #include #include #defineMIN_NUMBERS 2#defineMAX_NUMBERS 1000/*函数功能:计算整数的最小质因子输入:num 待计算整数返回值(输出):该整数的最小质因子。算法:让num被2到 sqrt(num)除,如果能被其中某一个整数index整除,(显而易见这个整数是最小的因子),则循环提前结束,返回该整数index; 若在上面的循环完成后,仍不能被其中某一个整除,则说明此数是质数,则返回此整数本身。*/int func(int num){ int index; /* ***开始************寻找num的最小质因子****************开始*** */ for(index = 2;index1 ){
factor_array[factor_num] = func(number); number = number / factor_array[factor_num]; factor_num ++;}/* ***结束************ 质因子分解 ****************结束*** *//* ***开始************ 计算质因子和 ****************开始*** */factor_sum = 0;/* 一定要在每次计算前清零 */for( index = 0; index < factor_num; index ++ ){ factor_sum += factor_array[index];}/* ***结束************ 计算质因子和 ****************结束*** */printf("整数 %d 质因子总个数 %d,分别是:",integer,factor_num);for( index = 0; index < factor_num; index ++ ){ printf(" %d ",factor_array[index]);}printf("\n"); } return 0;}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行