Dev - C++ - Factores primos

 
Vista:
sin imagen de perfil
Val: 101
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Factores primos

Publicado por pepe (30 intervenciones) el 27/06/2020 16:49:50
Hola amigos, una duda en Dev C cual seria la formula o asi para sacar los factores primos tengo que hacer este


Dado un número N entre 1 y 1000, calcular sus factores primos y mostrar:

Factores primos
Sumatoria de sus factores primos.
y este es mi codigo pero no me sale el programa su finalidad pues que viene arriba

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <stdlib.h>
 
int main (){
int opc,N,x,sumatoria;
do {
	printf ("\n ***** Menu *****");
	printf ("\n 1.- Factores primos\n 2.- Sumatoria de los factores primos\n 3.- Salir\n");
	scanf ("%d", &opc);
	switch (opc){
		case 1:{
			printf ("\n Ingresa un numero entre 1 y 1000: ");
			scanf("%d", &N);
			if (N<=1000&&N<=1){
				printf ("%d", N);
			for (x=2;N>1;x++){
			while(N%x==0){
			N/=1;
			if(N>1){
				printf ("%d * ", x);
			}
			else{
				printf ("%i", x);
			}
	}
	}
	}
	}break;
	case 2:{
		printf ("\n Ingresa un numero entre 1 y 1000: ");
		scanf ("%d", &N);
		if(N<=1000&&N>=1){
			for(x=2;N>1;x++){
				while(N%x==0){
					N/=x;
					sumatoria+=x;
					if(N>1){
						printf("%d + ", x);
					}
					else{
						printf ("%i", x);
					}
				}
			}
		}
		sumatoria=sumatoria-1;
		printf (" = %d", sumatoria);
		}break;
	}
 
}while(opc!=3);
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 1.342
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Factores primos

Publicado por Rodrigo (375 intervenciones) el 28/06/2020 00:36:08
Para obtener los factores primos tienes que dividir exhaustivamente, osea, partes en 2 y divides hasta que no se pueda dividir mas por 2, luego 3, etc. Si lo haces bien, no sera posible dividir por factores que no sean primos de ahi en adelante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar