#include <cstdlib>
#include <iostream>
#include "math.h"
using namespace std;
int gcd(int a, int b)
{
if (a%b==0) return b; //如果 b 可以整除 a, b就是 gcd
return gcd(b,a%b); //如果 b 不可以整除 a, gcd = b 與 "a除以b之餘" 的 gcd
}
int main()
{
int m,n ;
while(cin >>m>>n)
{
if (m>0 && n>0&& m<2^31 && n<2^31)
cout << gcd(m,n);
else
break;
}
system("pause");
return 0;
}
與正確輸出不相符(line:1)
您的答案為: 312014 ...略
正確答案為: 3
我自己測試是正確的呀
哪裡不符合要求嗎??
#include
#include
#include "math.h"
using namespace std;
int gcd(int a, int b)
{
if (a%b==0) return b; //如果 b 可以整除 a, b就是 gcd
return gcd(b,a%b); //如果 b 不可以整除 a, gcd = b 與 "a除以b之餘" 的 gcd
}
int main()
{
int m,n ;
while(cin >>m>>n)
{
if (m>0 && n>0&& m<2^31 && n<2^31)
cout << gcd(m,n);
else
break;
}
system("pause");
return 0;
}
與正確輸出不相符(line:1)
您的答案為: 312014 ...略
正確答案為: 3
我自己測試是正確的呀
哪裡不符合要求嗎??
要換行
第1筆測資與第2筆測資之間沒有換行的話就會這樣子
自己測試時一次只會輸入一筆測資 不會有換行的問題
但是上傳時是一次輸入全部的資料 要是沒換行時 系統就會不知道第1筆資料與第2筆資料分隔在哪而判定WA
第21行 你的程式碼是: cout << gcd(m,n);
建議改為: cout << gcd(m,n)<<endl;
註:endl代表換行的意思