Correzione esercizio

di il
17 risposte

17 Risposte - Pagina 2

  • Re: Correzione esercizio

    Grazie per l'aiuto!!!

    sto facendo un sacco di esercizi e devo dire sto migliorando, ho fatto questo esercizio per esempio
    Scrivere un programma C che:
    legge da standard input una sequenza di interi n finchè n è pari.
    Per ogni intero n:
    se n < è minore o uguale a 30 stampa i divisori escludendo 1 e n
    se n è maggiore di 30 ne stampa i multipli fino a 1000
    
    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
    
        int i , n , div , mult;
    
        do{ printf("inserisci un valore:");
            scanf ("%d",&n);
     if (n<=30){
        for (div=2; div<30 ; div++){
            if (n%div==0) printf ("il divisore e':%d\n" , div);
            }
        }
    
    if (n>30) {
        for (i=1 ; i<100 ; i++){
               mult = n*i;
               if (mult<1000) printf ("il multiplo e':%d\n" , mult);
    
        }
    }
    }while(n%2==0);
    
        return 0;
    }
    
    l'ho testato e mi viene! solo ....come devo mettere il primo ciclo for per escludere n dal printf? grazie in anticipo
  • Re: Correzione esercizio

    Non fermarti a 30 bensì a n/2.. superato quel valore non troverai altri divisori di n.
  • Re: Correzione esercizio

    Se dobbiamo proprio ridurre la complessità computazionale puoi fermarti a radical N
Devi accedere o registrarti per scrivere nel forum
17 risposte