Algoritmo para mejorar el factor primo de descomposición

问题描述
  给定一个正整数n,尝试对其分解质因数
输入格式
  仅一行,一个正整数,表示待分解的质因数
输出格式
  仅一行,从小到大依次输出其质因数,相邻的数用空格隔开
样例输入
100
样例输出
2 2 5 5
数据规模和约定
  n<=2147483647

Ideas:

  1. Cuando n = 1, el factor primo es 1.
  2. Cuando n> 1, juzgue una vez si i (2 ~ sqrt (n)) se puede dividir, imprima i y reinicie i = 1; de lo contrario, continúe juzgando más tarde.
  3. Cuando n no se puede dividir, n es el factor primo final.
#include<stdio.h>
#include<math.h>
int main(){
    
    
	
	int n,i;
	scanf("%d",&n);
	//当n=1时 
	if(n==1){
    
    
		printf("%d\n",n);
	}else{
    
    //当n>1时 
		for(i=2;i<=sqrt(n);i++){
    
    
			if(n%i==0){
    
    //当i能除尽时,打印i,重新初始n,重新赋值i=1. 
				printf("%d ",i);
				n/=i;
				i=1;
			}
		}
		if(n){
    
    //当n不能被除时,n就是最后的质因数 
			printf("%d\n",n);
		}
	}
	return 0;
} 

resultado:

100
2 2 5 5

--------------------------------
Process exited after 2.25 seconds with return value 0
请按任意键继续. . .

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/mjh1667002013/article/details/115219600
Recomendado
Clasificación