Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [C] Perchè la sum totale è 2550?

    Ragazzi ho un code molto semplice, non sono bravo in matematica ma non credo che bisogna esserlo per capire come mai questo codice mi da la somma totale di 2550

    codice:
    #include <stdio.h>
    
    /* function main begins program execution */
    int main()
    {
       int sum = 0; /* initialize sum */
       int number;  /* number to be added to sum */
    
       for ( number = 2; number <= 100; number += 2 ) {
          sum += number; /* add number to sum */      
       } /* end for */
    
       printf( "Sum is %d\n", sum ); /* output sum */
       
    
       scanf("stop \n");
       return 0; /* indicate program ended successfully */
    
    } /* end function main */
    quando compilo ed eseguo il codice, la sum totale mi da 2550.. ma non dovrebbe essere 98? non sto riuscendo a capire perchè

  2. #2
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Credo che la matematica basti in questo caso:
    E' la sommatoria con i che va da 1 a 50 di ai con a1=2, an=100.
    La formula risolutiva è (n* (a1+an)) /2 con n= numero di addendi.
    In questo caso n=50 quindi sum= 50*102 /2 = 2550.

  3. #3
    come fa a procedere con questa formula (n* (a1+an)) /2 se non sta scritta nel codice, fino ad ora ho pensato che tutte le formule matematiche le eseguiva perchè le scrivevo io nel codice

  4. #4
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Perche deve dare quel risultato !

    fa la somma di tutti i numeri pari da 2 a 100 compreso

    2 , 4 , 6 .... 50,52,54 ... 94 ,96,98 ,100 la cui somma è quella

    lascia stare le formule matematiche , non ti aiutano a capire il codice !

    aggiungi una printf nel codice vedi i valori di numer , se fai la somma di tutti
    valori assunti da numer il risultato è quello


    codice:
    #include <stdio.h>
    
    /* function main begins program execution */
    int main()
    {
       int sum = 0; /* initialize sum */
       int number;  /* number to be added to sum */
    
       for ( number = 2; number <= 100; number += 2 ) {
           printf("%d\n",number);
          sum += number; /* add number to sum */      
       } /* end for */
    
       printf( "Sum is %d\n", sum ); /* output sum */
       
    
       scanf("stop \n");
       return 0; /* indicate program ended successfully */
    
    } /* end function main */
    Tecnologia

  5. #5
    for ( number = 2; number <= 100; number += 2 ) {

    da 2 fino 98 2 += 2 = 4 6 8 10

    sum += number
    somma + number ossia 98 ?
    la sommanon dovrebbe essere 98?

    o cmq dovrebbe essere 100 quindi 100 + number che è 2 = 102

    perchè si dovrebbe fareo 50*102?


    maledetta matematica ti amo..

  6. #6
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    fa la somma di tutti i numeri pari da 2 a 98 !


    sum += number
    somma + number ossia 98 ?
    la sommanon dovrebbe essere 98?




    sum += number
    equivale
    a sum=sum + numer

    quindi aggiunge a sum numer FA LA SOMMA di tutti i numeri
    Tecnologia

  7. #7
    la somma di tutti i numeri è 2643 XDDDD 2550 mi corrego

    cmq ho fatto per pazzi 2 + 4 + 6 + 8 + 10 fino a 100 con la calcolatrice

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da adempius
    come fa a procedere con questa formula (n* (a1+an)) /2 se non sta scritta nel codice,
    E' la formula equivalente all'algoritmo della sommatoria.

    Anche se la formula non sta nel codice, quel codice che hai mostrato equivale a quella formula.

    La somma di tutti i numeri è 2643 ... con la calcolatrice
    Hai sbagliato ... rifalla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Originariamente inviato da oregon
    E' la formula equivalente all'algoritmo della sommatoria.

    Anche se la formula non sta nel codice, quel codice che hai mostrato equivale a quella formula.



    Hai sbagliato ... rifalla ...
    si si si ci ero arrivato ma non ero sicuro al 100% wow

  10. #10
    la cosa che non capisco e come mai, se do valore 50 al number la somma va a 150 voglio capire..
    oerchè va oltre il 100?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.