Salve a tutti... Qualcuno potrebbe aiutarmi a capire come comportarsi con le funzioni e darmi qualche consiglio per questo esercizio? Grazie mille
/*Scrivere un programma che riceve un valore intero in input da tastiera e
verifichi se il numero è primo e se è un numero di Armstrong.
- Utilizzare due funzioni
– check_Primo e check_Armstrong
- Numero di Armstrong= numeri per i quali la somma delle k cifre che li
costituiscono, ognuna elevata a k, equivale al numero di partenza*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*Definizione dei prototipi*/
int check_primo(int n);
int check_Armstrong(int num);
int main(){
int N;
printf("Inserire un valore intero: ");
scanf("%d",&N);
printf("Verificare se il valore intero sia un numero primo\n");
if(check_primo(N)==1){
printf("Il numero e' primo\n");
} else printf("Il numero non e' primo\n");
printf("Verificare se il valore intero sia un numero di Armstrong\n");
if(check_Armstrong(N)==1){
printf("%d e' un numero di Armstrong\n",N);
}
else printf("%d non e' un numero di Armstrong\n",N);
return 0;
}
int check_primo(int n){
int div=1,cont=0;
while(cont<=1 && div<n/2){
if(n%div==0){
cont++;
}
div++;
}
if(cont==1){
return 1;
}
return 0;
}
int check_Armstrong(int num){
int copia_num,sum=0,rem;
copia_num=num;
while(num!=0){
rem=num%10;
sum=sum+(pow(rem,3));
num=num/10;
if(sum == num){
return 1;
}
return 0;
}
}