zoukankan      html  css  js  c++  java
  • 求一个大整数对10003的余数

    输入

    第一行有一个整数m(1<=m<=8),表示有m组测试数据;
    随后m行每行有一个自然数n。


    输出

    输出n整除10003之后的余数,每次输出占一行


    样例输入

    3
    4
    5
    46545654


    样例输出

    4
    5
    6948

    同余定理:(a+b)%c=((a%c)+(b%c))%c 
     m%n举例: 
     123 % n = (((1%n*10%n+2%n)%n*10%n)%n+3%n)%n 

     1 #include <stdio.h>
     2 #include <string.h>
     3 #define N 1000001
     4   
     5 int main(){
     6     int T;
     7     char number[N];
     8     int temp;
     9     int i;
    10     int length;
    11   
    12     scanf("%d",&T);
    13   
    14     while(T--){
    15         temp=0;
    16           
    17         scanf("%s",number);
    18         length=strlen(number);  //由于number位数很大,所以当把strlen放进循环时就超时了
    19   
    20         for(i=0;i<length;i++)
    21             temp=(temp*10+(number[i]-'0'))%10003;
    22   
    23         printf("%d
    ",temp);   
    24     }
    25   
    26     return 0;
    27 }
  • 相关阅读:
    XStream教程
    Log4j教程
    Java.io包
    Java输入/输出教程
    Java.math.BigDecimal.abs()方法
    数据类型转换
    JUnit教程
    java.lang
    标识符
    PHP面向对象笔记解析
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/4054533.html
Copyright © 2011-2022 走看看