ACM_18(同余)
阿新 • • 發佈:2018-05-04
logs 應該 64位 bit c代碼 com NPU 影響 不為
18
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
一個簡單的問題,大家應該有不少做過大數加法題吧。這個題的數據也是64位整數放不下的,給定一個數,判斷該數是否能整除18.
Input:
輸入包含多組測試數據,對於每組數據,輸入一個整數(位數小於100,沒有前導零).
Output:
對於每組數據,如果可以整除18,輸出"Yes",否則輸出"No";
Sample Input:
18
Sample Output:
Yes
解題思路:同余知識點。這裏因為mod模為18,對每個字符-‘0‘後取余18沒有影響,所以省去了這一小步。
AC代碼:
1 #include<bits/stdc++.h> 2 using namespace std; 3 char s[100]; 4 int main(){ 5 while(cin>>s){ 6 int sum=0; 7 for(int i=0;i<(int)strlen(s);++i) 8 sum=(sum*10+s[i]-‘0‘)%18; 9 if(sum)cout<<"No"<<endl;//如果sum不為0,則為No 10 else cout<<"Yes"<<endl; 11 } 12 return 0; 13 }
同知識點題目鏈接:ACM_同余+暴力找規律
ACM_18(同余)