Najmniejsza liczba naturalna... zadanie.

2011-10-25 21:18
Hariv
0

Witam. Mam pewien problem z ów zadaniem:

"Znaleźć najmniejszą liczbę naturalną n taką, że:
user image, gdzie ε jest dowolną liczbą dodatnią.

Kod programu:

#include <stdio.h>

int main(void)
{
    float e,L=0; //e - to epsilon; L - lewa strona nierówności
    int n=1,i; 

    printf("Podaj dowolna liczbe dodatnia: ");
    scanf("%f",&e);
    if(e<=1)
     printf("\nLiczba n jest rowna 1.");
    else
    {
        do
        {
                      L+=(1/n);
                      n++;
        }
        while(L<=e);
        printf("\nNierownosc jest spelniona dla n=%i", n);
    }
    scanf("%i", &i);
    return 0;
}

Program uruchamia się ale po podaniu "epsilonu - e" nic się nie dzieje. Nie mogę odszukać miejsca błędu. Używam Dev-C++.

edytowany 2x, ostatnio: madmike, 2016-12-13 18:26

Pozostało 580 znaków

2011-10-25 21:32
0
L += 1/(float)n 

W Twoim programie to dzielenie jest traktowane jako operacja na liczbach całkowitych (bo n jest typu int), więc cały czas sumujesz 0 (część ułamkowa jest obcinana).

Pozostało 580 znaków

2011-10-25 21:43
Hariv
0

Dzięki wielkie, pomogło. Myślę że można zamknąć temat.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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