HDU 5832:A water problem (大数整除)

    xiaoxiao2025-07-20  5

    A water problem

    Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 412    Accepted Submission(s): 218 Problem Description Two planets named Haha and Xixi in the universe and they were created with the universe beginning. There is  73  days in Xixi a year and  137  days in Haha a year.  Now you know the days  N  after Big Bang, you need to answer whether it is the first day in a year about the two planets.   Input There are several test cases(about  5  huge test cases). For each test, we have a line with an only integer  N(0N) , the length of  N  is up to  10000000 .   Output For the i-th test case, output Case #i: , then output "YES" or "NO" for the answer.   Sample Input 10001 0 333   Sample Output Case #1: YES Case #2: YES Case #3: NO   Author UESTC   题意:判断输入的数是否可以同时整除73与137,也就是能不能整除73与137的最小公倍数。 因为输入的数的长度是10000000以内,我们只能采用字符串来存储它,从ans初始化为0,最低位开始ans=(ans+s[i]-'0')%b; 计算到最后,如果ans 等于0,可以整除,否则,不可以整除。 AC代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; char s[11000000]; int ans,b=73*137; int main() { for(int i=1; gets(s); i++) { ans=0; int l=strlen(s); for(int j=0; j<l; j++) ans=(ans*10+(s[j]-'0'))%b; if(!ans)printf("Case #%d: YES\n",i); else printf("Case #%d: NO\n",i); } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1300878.html
    最新回复(0)