Per far riconoscere al programma tutti i numeri primi ho dovuto fargli trovare tutti i divisori del numero immesso e poi lui li confrontava vedendo se ci erano divisori diversi da 1 o il numero inserito. Il programma con i numeri primi funzione bene mentre con gli altri numeri riconosce tutti i fattori come non primi tranne l’1 che lo da come primo. Quindi prima di farci una funzione vorrei sapere se l‘esercizio così va bene.
#include <stdio.h>
int a,b,c,d,tot,numeri;
int divisori[50];
main(){
b=0;
scanf("%d",&a);
while(b<a){
b++;
divisori[b]=a/b;
if(divisori[b]*b==a){
printf("\ni divisori sono:%d",divisori[b]);
if(divisori[b]!=1){
if(divisori[b]!=a){
printf ("\nil numero non e primo");}}
else{
printf("\nil numero e primo");
}
}
}
}
Commenti
Posta un commento