• goj 18(同余)


    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 }
     
  • 相关阅读:
    【hdu4035】Maze
    【bzoj2707】走迷宫
    【CF123E】Maze
    【CF113D】Museum
    【recording】gdoi2018
    最近公共祖先(LCA)(题目)
    回转寿司
    counting
    B
    A
  • 原文地址:https://www.cnblogs.com/acgoto/p/8990860.html
Copyright © 2020-2023  润新知