Algorytm zliczający sumę kolejnych liczb podanych przez użytkownika

0

Algorytm ma polegać na tym, że użytkownik podaję ile liczb ma być sumowanych. Liczby zaczynają się od 1 i zwiększają się co 1. Czyli ma liczyć sumę np.takich liczb: S = 1 + 2 + 3 + 4 = 10

Mam taki algorytm:

Suma = (1 + i)^2/(1 + 2)

ale czy jest on poprawny ? Bo dla 1 np. wychodzi 4/3, a dla dwójki wychodzi 9/4

4/3 + 9/4 , nie przyjmuje wartości 3 , a przecież jest to suma 1 + 2.

Czy ten algorytm jest dobry ? Dzięki.

0

To się nazywa ciąg arytmetyczny.

0

a ten mój algorytm jest dobry ? bo czemu jak podstawię 1 , a potem 2 to źle zlicza ? Mógłbyś podać jak on zlicza ?

0

Powinno być (i * (i + 1))/2 . Np dla wspomnianych pięciu będzie 4 * 5 / 2 czyli 20 / 2 co daje 10.

0

a to ten algorytm jest na pewno zły ? Bo na podstawach programowania zapisał taki.

Napisałem ten program tym wzorem który podałeś, ale nie wyświetla na koniec wyniku czemu ? Mój program:

#include <stdio.h>

int main()
{
    float n,i = 1,suma = 0;
    printf("Sumowanie kolejnych liczb zaczynajac od liczby 1\nPodaj ilosc tych liczb: ");
    scanf("%f",n);
    while(i <= n)
    {
        suma = ((i + 1) * i / 2);
        i++;
    }
    printf("Suma tych liczb to: %f",suma);

    return 0;

}
 
2

@nowicjusz35 ty tak serio? Jesteś na studiach i nie umiesz tego "wyprowadzić"? Jak ty chcesz zdać Analizę czy Dyskretną? o_O
http://pl.wikipedia.org/wiki/Ciąg_arytmetyczny#Suma_sko.C5.84czonego_ci.C4.85gu_arytmetycznego

0

dobra temat do usunięcia bo już nie ważny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1