sdad
FUNDAMENTOS DE PROGRAMACIÓN
ACTIVIDAD PRÁCTICA Nº 7. Funciones
Ejercicio 1.- Se introducen por teclado dos números enteros positivos. Escribir un programa C que nos indique cuantos númerosperfectos hay en el intervalo definido por los dos números leídos.
Un número es perfecto, si es igual a la suma de sus divisores (no se incluye él mismo). Por ejemplo: el número 6 es perfectoporque 6 = 1 + 2 + 3
Para resolver el problema realizar una función SumDivisores que calcule la suma de los divisores de un número excluido él mismo, con la siguiente declaración:
int SumDivisores(int n);
#include
int SumDivisores (int n);
void main ()
{
int num1, num2, cont=0, num3;//num3 se utiliza para cambiar num1 por num2
printf ("Introduce un numero entero:");scanf ("%d", &num1);
printf ("\nIntroduce otro numero entero:");
scanf ("%d", &num2);
if (num1>num2)//Los numerous se cambian si num1 es mayor que num2.
{
num3=num1;num1=num2;
num2=num3;
}
printf ("Entre %d y %d hay ", num1, num2);//Muestra el intervalo
while (num2>=num1)
{
/*Mira si el numero y la suma de sus divisors esigual.*/
if (num2==SumDivisores (num2))
{
cont++;//cuenta cuantos números perfectos hay.
}
/*Decremento num2 para ver si el siguiente numero es numero perfecto*/num2--;
}
printf ("%d numeros perfectos.", cont);//muestra los perfectos encontrados
}
int SumDivisores (int n)
{
int suma=0,i;
for (i=n-1;i!=0;i--)
{
if((n%i)==0)//comprueba si es divisor y suma el divisor.
suma+=i;
}
return (suma);//devuelve la suma de divisores.
}
Ejercicio 2.- Se introducen por teclado una serie denúmeros enteros positivos, el final de la secuencia se marca con un cero. Escribir un programa C que nos indique cuántos números de tres cifras capicúas hay en la secuencia. Para ello se utilizará...
Regístrate para leer el documento completo.