#40735: 共輸出8行???


ptdchen1542@gmail.com (程昱翔)

學校 : 不指定學校
編號 : 273816
來源 : [61.62.198.213]
最後登入時間 :
2024-06-09 14:34:38
a216. 數數愛明明 | From: [61.62.198.213] | 發表日期 : 2024-06-09 13:48

結果如下:

程式碼如下:

#include <iostream>
using namespace std;

int main()
{
    unsigned long long f[30001] = {0}, g[30001] = {0};
    f[1] = 1;
    g[1] = 1;
    unsigned input, check = 2;
    while ((cin >> input) && !cin.eof())
    {
        if (!(f[input] != 0 && g[input] != 0))
        {
            for (unsigned i = check; i <= input; i++)
            {
                f[i] = i + f[i-1];
                g[i] = f[i] + g[i-1];  
            }
            check = input;
        }
        cout << f[input] << " " << g[input] << "\n";
    }
}
 
搞不懂是什麼問題,導致輸出結果比系統要求的少一行?
 
#40736: Re: 共輸出8行???


ptdchen1542@gmail.com (程昱翔)

學校 : 不指定學校
編號 : 273816
來源 : [61.62.198.213]
最後登入時間 :
2024-06-09 14:34:38
a216. 數數愛明明 | From: [61.62.198.213] | 發表日期 : 2024-06-09 14:07

結果如下:

程式碼如下:

#include
using namespace std;

int main()
{
    unsigned long long f[30001] = {0}, g[30001] = {0};
    f[1] = 1;
    g[1] = 1;
    unsigned input, check = 2;
    while ((cin >> input) && !cin.eof())
    {
        if (!(f[input] != 0 && g[input] != 0))
        {
            for (unsigned i = check; i <= input; i++)
            {
                f[i] = i + f[i-1];
                g[i] = f[i] + g[i-1];  
            }
            check = input;
        }
        cout << f[input] << " " << g[input] << "\n";
    }
}
 
搞不懂是什麼問題,導致輸出結果比系統要求的少一行?

已解決,將!cin.eof()拿掉

 
ZeroJudge Forum