zoukankan      html  css  js  c++  java
  • HDU1212加深下对取模运算的理解

    Big Number

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3771    Accepted Submission(s): 2586

    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
     
     1 //原理: (a+b)%c = ((a%c)+(b%c))%c
     2   //    (a*b)%c = ((a%c)*(b%c))%c
     3 #include <iostream>
     4 #include <cstdio>
     5 #include <cstring>
     6 using namespace std;
     7 #define maxn 1000+5
     8 
     9 int num[250];
    10 char numc[maxn];
    11 
    12 int main()
    13 {
    14     int b;
    15     while(cin>>numc>>b)
    16     {
    17         int i = strlen(numc) - 1;
    18         int p = 1,ans = 0;
    19         while(i>=0)
    20         {
    21             ans = (ans + (numc[i]-'0')*p)%b;
    22             p *= 10;
    23             p %= b;
    24             i--;
    25         }
    26         cout<<ans<<endl;
    27     }
    28 }
    View Code
  • 相关阅读:
    从getaddrinfo看Glibc的nss
    跟踪一次网络发送
    Dwarf2结构在gcc中的应用及调试器实现分析
    scrapy基础教程
    leetcode题目清单
    机器学习——入门教程2
    机器学习——入门教程1
    C++ STL之vector用法总结
    Mac下用g++编译opencv程序报错
    Linux下环境变量设置
  • 原文地址:https://www.cnblogs.com/Skyxj/p/3210984.html
Copyright © 2011-2022 走看看