Мой код работает в моем g ++ компиляторе, но не работает на ideone, с помощью которого я должен представить на SPOJ - PullRequest
0 голосов
/ 01 октября 2019

Это решение проблемы с похмелья в POJ, и я думаю, что логика верна, но мое решение не работает на компиляторе POJ, но оно работает корректно на моем g ++ компиляторе. Что не так с моим решением? Вот ссылка на проблему. http://poj.org/problem?id=1003

Я пытался думать, что не так, и я думаю, что что-то не так, как poj принимает вывод и как я предоставляю.

#include<iostream>
#include<cstdlib>
using namespace std;

int main()
{
    float desired=1.00;
    while(1)
    {
        cin>>desired;
        if(desired!=0 and desired<=5.20 and desired>=0.01)
        {
            float sum=0;
            int denominator=2;
            float num=1;
            int total=0;
            while(sum<=desired)
            {
                num=1.00/denominator;
                sum+=num;
                total+=1;
                ++denominator;
            }
            cout<<total<<"\n";
        }
        else
            exit(0);
        }
    return 0;
}

Я ожидаю, что мое решение верно, ноя не могу думать, где я не прав. Я ожидаю, что выходные 1-я карта (-и) 1-я (-ые) из входных данных 0,04 0,01 0,01, так как он будет заканчиваться на 0,00, должен давать два выхода, но он дает только один выход. Вот ссылка выхода на IDEONE http://ideone.com/1o6HAz

...