zoukankan      html  css  js  c++  java
  • hdu 1212 Big Number(同余定理)

    Problem Description

    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.

    Input

    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.

    Output

    For each test case, you have to ouput the result of A mod B.

    Sample Input

    2 3
    12 7
    152455856554521 3250

    Sample Output

    2
    5
    1521

    解题思路:这是一道大数取模的题目,运用到同余定理:(a+b)%c=(a%c+b%c)%c=(a+b%c)%c。

    (a*b)%c=(a%c*b%c)%c。本质是模拟做除法运算,过程中只需保留余数即可!举个例子:572%7=((((5%7==5)*10+7==57)%7==1)*10+2==12)%7==5。

    AC代码:

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long LL;
     4 string str;int mod, ans;
     5 int main() {
     6     while(cin >> str >> mod) {
     7         ans = 0;
     8         for(int i = 0; str[i]; ++i) ans = (ans * 10 + (str[i] - '0')) % mod;
     9         cout << ans << endl;
    10     }
    11     return 0;
    12 }
  • 相关阅读:
    最先与最后(鲁迅)
    GPS固定数据输出语句($GPGGA)
    网络流量测量软件的设计与实现
    塑料模型毕业设计论文
    周末去牛街!
    周口店猿人遗址!
    总有一些东西让我们泪流满面
    不行了,回去休息
    过完节回到北京了
    算法竞赛专题解析(0)写作计划
  • 原文地址:https://www.cnblogs.com/acgoto/p/8473913.html
Copyright © 2011-2022 走看看