#11632:


ed77441 (My disappointment is immeasura...)

學校 : 國立臺南高級工業職業學校
編號 : 39416
來源 : [223.139.143.168]
最後登入時間 :
2020-12-27 02:15:32
a158. 11827 - Maximum GCD -- UVa11827 | From: [42.72.11.172] | 發表日期 : 2016-12-23 23:09

#include<iostream>
#include<math.h>
using namespace std;
int GCD(int a,int b){
     if(b)while((a%=b) && (b%=a));
     return a+b;
}
int main(){
     int n,i;
     cin>>n;
    while(n--){
             int m[99]={0},maximum=0;
             for(i=0;i<=98;i++){
                 cin>>m[i];
                 if(getchar()=='\n')
                    break;
             }
             for(int j=0;j<=i-1;j++)
                  for(int k=j+1;k<=i;k++)
                       maximum=max(maximum,GCD(m[j],m[k]));
             cout<<maximum<<endl;
     } 
    return 0;
}

 

自己測沒問題啊 為啥用測資會錯呢?

 
#11758: Re:求救


ed77441 (My disappointment is immeasura...)

學校 : 國立臺南高級工業職業學校
編號 : 39416
來源 : [223.139.143.168]
最後登入時間 :
2020-12-27 02:15:32
a158. 11827 - Maximum GCD -- UVa11827 | From: [111.83.89.125] | 發表日期 : 2017-02-21 23:00

#include
#include
using namespace std;
int GCD(int a,int b){
     if(b)while((a%=b) && (b%=a));
     return a+b;
}
int main(){
     int n,i;
     cin>>n;
    while(n--){
             int m[99]={0},maximum=0;
             for(i=0;i<=98;i++){
                 cin>>m[i];
                 if(getchar()=='\n')
                    break;
             }
             for(int j=0;j<=i-1;j++)
                  for(int k=j+1;k<=i;k++)
                       maximum=max(maximum,GCD(m[j],m[k]));
             cout<<maximum<<endl;
     } 
    return 0;
}

 

自己測沒問題啊 為啥用測資會錯呢?

直接用sstream就好了

getline(cin,str)取一整行 然後在while(ss>>num)分析就好了....

 
#11853: Re:求救


nkavengertree (LaG)

學校 : 不指定學校
編號 : 62501
來源 : [49.216.191.28]
最後登入時間 :
2021-11-21 03:06:49
a158. 11827 - Maximum GCD -- UVa11827 | From: [163.30.20.150] | 發表日期 : 2017-03-31 10:34

1.先利用getline(cin , str)這個方法把一整行讀進去

 

2.使用stringstream這個方法來做切割

記得要加上#include <sstream>!!

清空stringstream的方法為:

stringstream ss;

ss.str("");

ss.clear();

 

3.轉換

ss << str;

while ( getline(ss , str_temp , ' ') ){
      //此時就可以利用str_temp這個字串形態來判斷    
}

 

附上相關網站
https://dotblogs.com.tw/v6610688/2013/11/08/cplusplus_stringstream_int_and_string_convert_and_clear

 
ZeroJudge Forum