Programma prova del 9

di il
4 risposte

Programma prova del 9

Buonasera a tutti...
Il programma in questione è la "Prova del 9"...L' utente inserisce due valori di 4 cifre (Da moltiplicare) e un terzo valore di 8 cifre che dovrebbe essere il presunto risulatato della moltiplicazione dei valori iniziali...Il compito del programma è quello di fare le radici numeriche dei 3 valori, moltiplicare le radici dei valori iniziali e uguagliare il risulatato con la radice del terzo valore...Se sono uguali allora il valore del risultato della moltiplicazione immesso all' inizio era giusto ...al contrario se sono diversi significa che il risultato della moltiplicazione era sbagliato.
Es: Valore 1: 1234 = 1+2+3+4 =10 = 1 + 0 = 1
Valore 2: 5678 = 5+6+7+8 = 26 = 2 + 6 = 8
Valore 3: (Risultato motiplicazione) = 7006652 = 7+0+0+6+6+5+2= 26 = 2 + 6 = 8
8 * 1 = 8 La prova del 9 è verificata.
Il mio problema sta nel fare la radice numerica dei numeri immessi...Sono riuscito a fare la somma delle cifre del numero una volta sola per es 1234 = 1+2+3+4 = 10 ma non riesco ad andare avanti cioè a fare 10 = 1+0
Grazie in anticipo.

4 Risposte

  • Re: Programma prova del 9

    Questa è una possibile idea:
    
        /* qui fai la somma che dici di essere riuscito a fare */
    
        int num = 19;
        int somma_cifre = num;
    
        while(somma_cifre > 9)    /* controllo se il numero ha due cifre */
        {
            int decine = (int)(somma_cifre/10);   /* faccio la divisione per 10 e tronco il risultato */
            int unita = somma_cifre-10*decine;
            somma_cifre = decine + unita;
        }
    
        printf("Somma delle cifre: %d\n", somma_cifre);
    
    Continui a fare la somma finché la somma delle cifre non è minore di 10. A questo punto sei sicuro che il risultato sia formato da una sola cifra.
  • Re: Programma prova del 9

    Mostra il codice che hai scritto ...
  • Re: Programma prova del 9

    #include <stdio.h>
    
    int main(){
    int add1, rad1;
       printf("Inserisci il primo valore (Deve essere di 4 cifre) della somma :\n");
                   scanf("%d", & add1);
    
                                        while (add1!=0){
                                        rad1=rad1 + add1 %10;
                                        add1 = add1 / 10;
                                        }
     printf("La somma delle cifre del primo numero e' : %d \n", rad1);
    
    return 0;
    }
    
  • Re: Programma prova del 9

    Ho risolto grazie mille!!
Devi accedere o registrarti per scrivere nel forum
4 risposte