蓝桥杯基础练习BASIC-16 分解质因数

C语言实现 IDE:dev c++

关键字:质数分解 循环

#include 

int main(){
	int i = 10;       //i为需要分解的数 
	int a[1000]={0};  //数组用来存放找到的质因数
	int j,x,temp,k=0;
	temp = i;
	printf("%d=",i);
	
	j=2;				//第一次循环初始化j的值
	while(i!=1){
		x = i % j;		//x的值是否为0用于判断j是不是质因数
		if(x == 0){		//j是质因数
			temp = temp /j; //找到质因数之后temp为除以质因数之后的值
			a[k] = j;  //存放找到的质因数
			k++;		
			i=temp;			//找到质因数之后i为除以质因数之后的值,此时的i为下一次循环需要分解的数
			j=2;		//找到一个质因数后新的循环开始,初始化j的值
		}else{			//j不是质因数
			temp = i;
			j++;
		}
	}
	for(j=0;j<k-1;j++)
	printf("%d*",a[j]);		//输出除最后一个质因数以外的质因数
	printf("%d",a[k-1]);  //最后一个质因数在k-1处,原因:while循环中最后一次循环结束前k自增了一次
	return 0;
}

如果这段代码对您有帮助,希望您可以给猿猿一个赞,谢谢您嘞,code不易,且看且珍惜。

你可能感兴趣的:(LeetCode题解)