C语言之基本算法34—分解质因数(方法一)
来源:互联网 发布:mac橙色系口红 推荐 编辑:程序博客网 时间:2024/06/01 08:01
//矩阵基础/*==================================================================题目:输入一个正整数,将其分解为质因式,如:60=2*2*3*5;若本身是质数,则输出如:307是一个质数!==================================================================*/#include<stdio.h>void main(){int n,m,c,i,k,y[40];printf("输入一个正整数:");scanf("%d",&n);while(n>0){m=n;c=0;k=m/2;for(i=2;i<=k;i++){while(m%i==0){y[c++]=i;m/=i;}}if(m>1)y[c++]=m;if(c==1)printf("%d 是一个质数\n",n);else{printf("%d=%d",n,y[0]);for(i=1;i<c;i++)printf("*%d",y[i]);printf(".");}printf("\n\n继续输入一个正整数:");scanf("%d",&n);}}/*====================================================================评:这个编法可能比较抽象!比较难理解的地方是m>1,c==1,m%i==0;m>1,则m至少为2,说明至少有一个质因数(因为2,3,都是质数),所以储存质因子的数组y[]至少含一个元素!即c>=1;若c==1,则y[]恰好有一个元素,必定是这个数它本身!所以这个数就是素数!m%i==0,说明m可以被i整除,即i是m的因子,因为是从2开始的,所以必定为质数(读者若不明白,可以在温习一下质数的性质!);m/i,是将m分解为一个数shu乘以质因数,然后通过for和while循环继续寻找shu的质因数!直到找不到则循环结束,然后按格式输出就好!=====================================================================*/
2 0
- C语言之基本算法34—分解质因数(方法一)
- C语言之基本算法35—分解质因数(方法二)
- C语言 C语言分解质因数的算法,以及动态一维数组保存分解的质因数的每一项
- 初级C语言算法实现分解质因数
- C语言分解质因数
- 【C语言】分解质因数
- c语言:分解质因数
- C语言分解质因数
- C语言-分解质因数
- C语言-分解质因数
- 【c语言】分解质因数
- C语言 > 分解质因数
- c算法-分解质因数
- C语言——分解质因数
- C语言实现分解质因数
- C语言经典算法:如何较快的分解质因数
- C语言经典算法100例-014-分解质因数
- C算法分解质因数与分解因子
- Storm常见问题及解决方案总结
- Hdu5012(bfs)
- 安卓的socket连接
- Mou 工具示例(自己用来查的)
- C语言之基本算法33—矩阵的基本运算
- C语言之基本算法34—分解质因数(方法一)
- laravel 正则表达式
- C语言之基本算法35—分解质因数(方法二)
- 高德地图Android自定义路线规划的简单实现
- 几行代码搞定java生成解析二维码功能
- Linux挂载Windows共享文件夹
- .Net中编译程序生成文件的版本号
- POJ-1118(超时,但未找到原因)
- 钟表