用long long陣列紀錄結果會WA在第三行
用long long直接計算,用scanf、printf會WA在第14行
完全一樣的程式碼,把scanf、printf改成cin、cout然後就AC了
以上四種程式碼用dev-c++跑出來結果是一樣的
請問有可能是什麼原因造成的?
用long long陣列紀錄結果會WA在第三行
用long long直接計算,用scanf、printf會WA在第14行
完全一樣的程式碼,把scanf、printf改成cin、cout然後就AC了
以上四種程式碼用dev-c++跑出來結果是一樣的
請問有可能是什麼原因造成的?
要使用 %lld 而不是 %I64d 哦 :)
要使用 %lld 而不是 %I64d 哦 :)
原來如此..
那麼用long long陣列紀錄為什麼會出問題呢?
程式碼貼出來看看才知道囉.. :)
#include <iostream>
using namespace std;
int main()
{
int i, n;
long long a[21];
a[0] = a[1] = 1;
for(i = 2; i < n; i++)
a[i] = a[i-1] * i;
while(cin >> n)
cout << a[n] << endl;
return 0;
}
以上。謝謝!
#include <iostream>
using namespace std;
int main()
{
int i, n;
long long a[21];
a[0] = a[1] = 1;
for(i = 2; i < n; i++)
a[i] = a[i-1] * i;
while(cin >> n)
cout << a[n] << endl;
return 0;
}
這個 n 值沒有初始化,值是未知的...