nyoj_205_求余数_201404271630

求余数

时间限制:1000
ms  |  内存限制:65535
KB

难度:3


描述

现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数除10003之后的余数


输入

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

输出

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

样例输入

3
4
5
465456541

样例输出

4
5
6948

来源

经典题目

上传者

 


 1 #include <stdio.h>
2 #include <string.h>
3 char s[1000010];
4 int main()
5 {
6 int T;
7 scanf("%d%c",&T);
8 while(T--)
9 {
10 int i,len,t=0;
11 gets(s);
12 len = strlen(s);
13 for(i=0;i<len;i++)
14 {
15 t=(t*10+s[i]-‘0‘)%10003;
16 }
17 printf("%d\n",t%10003);
18 }
19 return 0;
20 }
21 //利用除法的基本原理,从高位往低位除

nyoj_205_求余数_201404271630,布布扣,bubuko.com

时间: 2024-11-19 21:51:21

nyoj_205_求余数_201404271630的相关文章

如何运用同余定理求余数【hdoj 1212 Big Number【大数求余数】】

Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5930    Accepted Submission(s): 4146 Problem Description As we know, Big Number is always troublesome. But it's really important in our

求余数 NYOJ 205

1 #include<stdio.h>//求余数(205) 2 #include<string.h> 3 char a[1000005]; 4 int main() 5 { 6 int x,i,t,res; 7 scanf("%d",&x); 8 while(x--){ 9 scanf("%s",a); 10 t=strlen(a); 11 if(t<=5){ 12 res=0; 13 for(i=0;i<t;i++){

求余数

描述现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数除10003之后的余数 输入 第一行有一个整数m(1<=m<=8),表示有m组测试数据:随后m行每行有一个自然数n. 输出 输出n整除10003之后的余数,每次输出占一行. 样例输入 3 4 5 465456541 样例输出 4 5 6948 1 /** 2 * 3 * @author YoungChan 4 * 5 */ 6 import java.util.*; 7 8 public class Reminder

关于除以2的n次方求余数的思考

本人由于刚接触编程不久,思考的问题没有大家的那么深入.这次我仅仅只是一点基于学习的思考.今天在家里复习学校学过的功课,关于运算操作符的那一章节.  编写一个程序:从界面输入一个整数,要求求该数除以8后的余数.这个题目确实很简单,只要用%运算即可.但是我写出代码后发现编译器对于负数求模运算后所得的余数是负数.当然大家很容易想到此时加上除数即可达到题目的要求.我想这个代码大都会写,我就不再细述,但是今天我想输得方法并不是此.一个整型(int)占4个字节,每个字节8位.那么每个int占32个位.如果我

负数求余数

负数求余: 一般规定:余数大于等于0且小于除数的绝对值() 10%(-3)的余数为 1 10=-3*-3+1,余数是1 -10%3     的余数为 -1 -10=-3*3-1,余数是-1 即:a=bq+r(0≤r<│b│)余数与被除数同号就迎刃而解了,而且 |余数| < |除数| -57=(-1)*30-27 余数是-27

蔡勒公式求今天是星期几?

之所以知道蔡勒公式,是因为今天在九度上做的一道题目[题目1043:Day of Week].以前也曾经做过求星期几这样的题目,当时的做法比较粗暴:已经知道某年某月某日是星期几,要求现在给的某天是星期几,直接求给的日期和已知日期的相差天数对7取余,再根据已知的星期做相应的调整即可.这样的做法不仅繁琐,而且一不留神就有可能算错.这次又碰到类似的题目,希望尝试新的方法.于是在查资料的过程中,知道了蔡勒公式.于是用蔡勒公式来解决了这道题目,虽然知道蔡勒公式,但是在使用过程中依旧错误不断.其实是因为对蔡勒

java求最大公约数(分解质因数)

下面是四种用java语言编程实现的求最大公约数的方法: package gcd; import java.util.ArrayList; import java.util.List; public class gcd { public static void main(String[] args) { long startTime; long endTime; long durationTime; int[] testArray1 = new int[]{784, 988, 460, 732,

POJ 2305大数求余

一开始是的想法是用减法代替除法,一直减到被减数小于减数,所得的被减数就是余数.为了方便编程,还在减法中对齐了被减数和减数的位数.但过程还是比较麻烦,会超时. 1 #include "stdafx.h" 2 #include<string> 3 #include<iostream> 4 using namespace std; 5 int b; 6 string decrease(string p, string cut) 7 { 8 int diff=p.siz

C语言负数的除法和求余运算

假定我们让 a 除以 b,商为 q,余数为 r: q = a / b; r = a % b; 这里,不妨假定 b 大于 0. 我们希望 a.b.q.r 之间维持怎样的关系呢? 1.最重的一点,我们希望 q * b + r == a,因为这是定义余数的关系. 2.如果我们改变 a 的正负号,我们希望这会改变 q 的符号,但这不会改变 q  的绝对值. 3.当 b>0 时,我们希望保证 r >= 0 且 r < b.例如,如果余数用于哈希表的索引,确保 它是一个有效的索引值很重 . 这三条性