PKU ジャッジの問題 ID 1003 へのリンクは次のとおりです: http://poj.org/problem?id=1003
この問題で必要なことは、ハーモニック プログレッションの合計を計算し、それを既に入力した変数と比較することだけです。
入力例の回答は正しいのですが、なぜ回答が受け入れられないのですか? 結果として「間違った答え」を取得しています。これは、「入力は 1 つ以上のテスト ケースで構成され、その後に入力の終了を示す数字 0.00 を含む行が続く」という問題の一部でした。その 0.00 部分の実行方法がわかりません。単一の入力を取得するだけで、その方法がわかりませんでしたか?
これが私の解決策です:
#include<iostream>
using namespace std;
int main()
{
float c;
float sum = 0;
cin >> c;
short int i = 1;
while(1)
{
sum += (float)1/(i+1);
if(sum >= c)
{
cout << i << " card(s)";
break;
}
i++;
}
return 0;
}