大数求余简单办法(水)

Prepared for New Acmer

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

Problem Description

集训进行了将近2个礼拜,这段时间以恢复性训练为主,我一直在密切关注大家的训练情况,目前为止,对大家的表现相当满意,首先是绝大部分队员的训练积极性很高,其次,都很遵守集训纪律,最后,老队员也起到了很好的带头作用,这里特别感谢为这次DP专题练习赛提供题目和测试数据的集训队队长xhd同学.

特别高兴的是,跟随集训队训练的一批新队员表现非常好,进步也比较显著,特别是训练态度大大超出我的预期,我敢说,如果各位能如此坚持下去,绝对前途无量!

考虑到新队员还没有经过系统训练,我这里特别添加一道简单题:
给定三个正整数A,B和C(A,B,C<=1000000),求A^B
mod C的结果.

希望各位都能体会到比赛中AC的快乐,绝对的量身定制,很高的待遇哟,呵呵...

Input

输入数据首先包含一个正整数N,表示测试实例的个数,然后是N行数据,每行包括三个正整数A,B,C。

Output

对每个测试实例请输出计算后的结果,每个实例的输出占一行。

Sample Input

3

2 3 4

3 3 5

4 4 6

Sample Output

0

2

4

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 int main()
 5 {
 6     long long a,b,c;
 7     int n;
 8     cin>>n;
 9     while(n--)
10     {
11         cin>>a>>b>>c;
12         long long t=a;
13         b--;
14         while(b--)
15         {
16             a=a*t;
17             a=a%c;
18         }
19         cout<<a%c<<endl;
20     }
21 }
时间: 2024-10-07 01:08:54

大数求余简单办法(水)的相关文章

POJ 2635 The Embarrassed Cryptographer(大数求余)

题意:给出一个大数,这个大数由两个素数相乘得到,让我们判断是否其中一个素数比L要小,如果两个都小,输出较小的那个. 分析:大数求余的方法:针对题目中的样例,143 11,我们可以这样算,1 % 11 = 1:      1×10 + 4 % 11 = 3:      3×10 + 3 % 11 = 0;我们可以把大数拆成小数去计算,同余膜定理保证了这个算法的这正确性,而且我们将进制进行一定的扩大也是正确的. 注意:素数打标需要优化,否则超时.   进制需要适当,100和1000都可以,10进制超

大数求余

1 /**2016中国大学生程序设计网络赛赛HDU 2 1001大数求余 3 */ 4 5 #include "iostream" 6 #include "cstdio" 7 #include "cstring" 8 using namespace std; 9 char s[100000002]; 10 int main() { 11 12 int t=1; 13 while(~scanf("%s", &s)) {

nyoj 803 A/B Problem(大数除小数&amp;&amp;大数求余小数)

这道题 也就是大数除或者求模小数,不过听说java处理大数很方便,可是java学的一塌糊涂..有心人用java做吧 奉上c语言代码: #include <stdio.h> #include <string.h> int main() { char a[1000],c[1000],ch; int b,i,j,r; while(scanf("%s %c %d",a,&ch,&b)!=EOF)//a是存贮大数,ch存贮运算符,b是小数 { r=0; i

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

Large Division (大数求余)

Given two integers, a and b, you should check whether a is divisible by b or not. We know that an integer a is divisible by an integer b if and only if there exists an integer c such that a = b * c. Input Input starts with an integer T (≤ 525), denot

hdoj-1212-Big Number【大数取余&amp;简单题】

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

如何运用同余定理求余数【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

C言语除法运算符“/和求余运算符“%

看似两个很简单的运算符.这篇文章作为对于此类运算符的各方面的疑问的汇总,却也真要把握用好它也不容易.期望对你都有一些帮助.     除法运算符"/二元运算符,具有左联系性.参加运算的量均为整型时,成果为整型,舍去小数.假如运算量中有一个为实型,成果为双精度实型. 例如:5/2=21/2=05/2.0=2.5          求余运算符"%二元运算符,具有左联系性.参加运算的量均为整型求余运算的成果等于两个数相除后的余数 例如:5%2=11%2=15%2.0和5.0%2成果是语法错误

平方和求余

2193: 校赛的纪念 Time Limit: 1 Sec  Memory Limit: 512 MBSubmit: 815  Solved: 154[Submit][Status][BBS] Description 作为成都东软学院的第一届个人校赛,这一天是我们ACM团队的所有成员所应该铭记的日子.而作为我们的总教练余大牛又想出了一个简单的问题作为对今日比赛的纪念,其实题目很简单,仅仅是计算平方和.但是,为了体现对今天的纪念,余大牛要求结果对20121215(今天的日期)取余. 例如:当n等于