Najmniejsza liczba naturalna... zadanie.

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++.

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).

0

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

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