您的位置:首页 > 理论基础 > 计算机网络

HDU-5832 HDU-1212/2016网络选拔赛/大数取余

2016-08-15 08:26 357 查看

A water problem

[b]Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 326    Accepted Submission(s): 180
[/b]

[align=left]Problem Description[/align]
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.
 

[align=left]Input[/align]
There are several test cases(about
5
huge test cases).

For each test, we have a line with an only integer
N(0≤N),
the length of N
is up to 10000000.
 

[align=left]Output[/align]
For the i-th test case, output Case #i: , then output "YES" or "NO" for the answer.
 

[align=left]Sample Input[/align]

10001
0
333

 

[align=left]Sample Output[/align]

Case #1: YES
Case #2: YES
Case #3: NO

 

[align=left]Author[/align]
UESTC
 

[align=left]Source[/align]
2016中国大学生程序设计竞赛
- 网络选拔赛
Cmod(A*B)==0  =CmodA==0&&CmodB==0
 
   C
---------- =integer
  A*B
#include <iostream>

using namespace std;

#define N 12000000

#define INF 1<<30

char s
;

int main()

{

    int k=0,len,x,d,i;

    while(scanf("%s", s) != EOF)

    {

        k++;

        len = strlen(s);

        x=10001;

        d=0;

        for(i=0;i<len;i++)

            d=(d*10+(s[i]-'0')%x)%x;

        if(d==0)

            printf("Case #%d: YES\n",k);

        else

            printf("Case #%d: NO\n",k);

    }

    return 0;

}

Big Number

[b]Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 7409    Accepted Submission(s): 5124
[/b]

[align=left]Problem Description[/align]
As we know, Big Number is always troublesome. But it's really important in our ACM. And today, your task is to write a program to calculate A mod B.

To make the problem easier, I promise that B will be smaller than 100000.

Is it too hard? No, I work it out in 10 minutes, and my program contains less than 25 lines.

 

[align=left]Input[/align]
The input contains several test cases. Each test case consists of two positive integers A and B. The length of A will not exceed 1000, and B will be smaller than 100000. Process to the end of file.

 

[align=left]Output[/align]
For each test case, you have to ouput the result of A mod B.

 

[align=left]Sample Input[/align]

2 3
12 7
152455856554521 3250

 

[align=left]Sample Output[/align]

2
5
1521

 

[align=left]Author[/align]
Ignatius.L
 

[align=left]Source[/align]
杭电ACM省赛集训队选拔赛之热身赛

#include <iostream>
#include<string.h>
using namespace std;
#define N 1005
char s[N];
int main()
{
  int k=0,len,x,d,i;
   while(scanf("%s",s)!=
EOF) {

        cin>>x;

        k++;

        len = strlen(s);

        d=0;
      for(i=0;i<len;i++)

            d=(d*10+(s[i]-'0')%x)%x;

        printf("%d\n",d);
   }
  return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: