|
Mostrar Mensajes
|
Páginas: 1 2 [3] 4 5
|
23
|
Programación / Programación C/C++ / elevar al cuadrado y al cubo
|
en: 13 Agosto 2015, 11:17 am
|
quiero hacer un programa que dado un número me calcule su cuadrado y su cubo. No me funciona del todo, una ayuda por favor. #include<stdio.h> #include<stdlib.h> #include<math.h> int eleva(int x,int i,int elevador){ for(i=2;i<=3;i++){ elevador= pow(x,i); } return(elevador); }
int main(void){ int x,i,elevador; scanf("%d",&x); for(i=2;i<=3;i++) printf("%d\n",eleva(x,i,elevador));
system("pause"); return(0);
}
|
|
|
25
|
Programación / Programación C/C++ / Numeros amigos y numeros perfectos programa en C
|
en: 11 Agosto 2015, 12:59 pm
|
Enunciado: Dos números amigos son dos números enteros positivos a y b tales que la suma de los divisores propios de uno es igual al otro número y viceversa, es decir σ(a)=b y σ(b)=a, donde σ(n) es igual a la suma de los divisores de n, sin incluir a n. (La unidad se considera divisor propio, pero no lo es el mismo número.) Un ejemplo es el par de naturales (220, 284), ya que: los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110, que suman 284; los divisores propios de 284 son 1, 2, 4, 71 y 142, que suman 220. Si un número es amigo de sí mismo (es igual a la suma de sus divisores propios), recibe entonces el nombre de número perfecto. Mi programa me va bien a la hora de decir si dos números son amigos, el problema lo tengo a la hora de decir si es perfecto. Ayúdenme. #include<stdio.h> #include<stdlib.h>
int pedir_numero(char mensaje[]){ int n; printf("%s\n",mensaje); scanf("%d",&n); while(n<0){ printf("%s\n",mensaje); scanf("%d",&n); } return(n); }
int suma_divisores(int n){ int i,r,suma; suma=0; for(i=1;i<n;i++){ r=n%i; if(r%i==0) suma=suma+i; } return(suma); }
int sonamigos(int n1,int n2){ int suma1,suma2;
suma1 = suma_divisores(n1); suma2 = suma_divisores(n2); if ((suma1==n2)&& (suma2==n1)) return 1; else return 0; }
int perfecto(int n3){ int suma3; (suma3==suma_divisores(n3)); if(suma3==n3) return 1; else return 0;
}
int main(void){ int n1,n2,n3; int suma;
n1=pedir_numero("Dime el primer numero\n"); n2=pedir_numero("Dime el segundo numero\n");
if (sonamigos(n1,n2)) printf("\nSi son amigos\n"); else printf("\nNo son amigos\n"); n3=pedir_numero("Dime el tercer numero y veremos si es perfecto\n"); if(perfecto(n3)) printf("%d es perfecto\n",n3); else printf("%d no es perfecto\n",n3); system("Pause"); return(0); }
Gracias, de verdad.
|
|
|
27
|
Programación / Programación C/C++ / Re: Criba de Eratostenes en C con funciones.
|
en: 30 Julio 2015, 01:24 am
|
Aquí trato de tachar los múltiplos, pero no me funciona. #include<stdio.h> #include<stdlib.h>
void criba(int v[],int i,int n, int j){ for(i=2;i<n;i++){ for(j=2;i*j<n;j++){ v[i*j]=0; } }
}
int main(void){ int n; scanf("%d",&n); int v[n],i,j; for(i=2;i<n;i++){ v[i]=i; printf("%d\n",v[i]); } printf("%d\n",criba(v,i,n,j));
system("pause"); return(0);
}
Ya lo he hecho como me dijsites, pero no me funciona y creo que es por un pequeño error, aquí te dejo el programa: include<stdio.h> #include<stdlib.h>
void criba(int v[]){ int i,n,j; for(i=2;i<n;i++){ for(j=2;i*j<n;j++){ v[i*j]=0; } }
}
int main(void){ int n; scanf("%d",&n); int v[n],i,j; for(i=2;i<n;i++){ v[i]=i; printf("%d\n",v[i]); } criba(v); for(i=2;i<n;i++){
if(v[i]!=0) printf("%10d\n",v[i]);
}
system("pause"); return(0);
}
|
|
|
28
|
Programación / Programación C/C++ / Criba de Eratostenes en C con funciones.
|
en: 30 Julio 2015, 01:04 am
|
Hola, ya he conseguido resolver el problema de la criba, ahora mi problema es que no sé cómo poner funciones para que sea mucho mejor el programa. Una ayuda por favor, para las funciones que se me dan horrible. Este es el programa en el main: #include<stdio.h> #include<stdlib.h>
int main(void){ int n; scanf("%d",&n); int v[n]; int i,j,p; for(i=0;i<n;i++){ v[i]=i; printf("%d\n",v[i]); } for(i=2;i<n;i++){ for(j=2;i*j<n;j++){ v[i*j]=0; } printf(" Tachando los multiplos con un 0: %10d\n",v[i]); } for(i=2;i<n;i++){ if(v[i]!=0) printf("Los numeros primos son: %4d\n",v[i]);
}
system("pause"); return(0);
}
Muchas gracias
|
|
|
29
|
Programación / Programación C/C++ / Re: Criba de eratóstenes en C.
|
en: 28 Julio 2015, 01:39 am
|
Me sale casi correcto, el problema es que a la salida que me da el programa me salen algunos 0. Es este: #include<stdio.h> #include<stdlib.h> #include<math.h> int main(void){ int n; scanf("%d",&n);
int v[n]; int i; for(i=2;i<n;i++){ v[i]=i; printf("%d\n",v[i]); } int j;
for(i=2;i<n;i++){ for(j=2;i*j<n;j++){ v[i*j]=0; }if (v[i]!=v[i*j]){
printf("\nNumeros primos: %4d\n",v[i]); } }
system("pause"); return(0);
}
|
|
|
|
|
|
|