2017-5-16-Train:喵哈哈村的魔法考试 Round #19 (Div.2)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017-5-16-Train:喵哈哈村的魔法考试 Round #19 (Div.2)相关的知识,希望对你有一定的参考价值。

A.喵哈哈村的魔力源泉(水题)

描述

喵哈哈村有一个魔法源泉,里面有无穷无尽的力量。

但是前提是你能答出这样一个问题:

给你a,b,p,让你输出a*b%p的值。

输入

本题包含若干组测试数据。第一行三个整数a,b,p。满足:0<=a,b,p<=1e9

输出

输出答案

样例输入1

1 2 5
2 3 5

样例输出1

2
1

Solve:

水题

Code:

技术分享
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     long long a , b , c;
 6     while(~scanf("%lld%lld%lld" , &a , &b , &c))
 7     {
 8         printf("%lld\n" , a * b % c);
 9     }
10 }
View Code

B.喵哈哈村的魔法源泉(快速加)

描述

喵哈哈村有一个魔法源泉,里面有无穷无尽的力量。

但是前提是你能答出这样一个问题:

给你a,b,p,让你输出a*b%p的值。

输入

本题包含若干组测试数据。第一行三个整数a,b,p。满足:0<=a,b,p<=1e18

输出

输出答案

样例输入1

10 1 7

样例输出1

3

Solve:

广义快速幂的快速加

Code:

技术分享
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 LL QuickAdd(LL a , LL b , LL mod)
 5 {
 6     LL yaoyuan = 0;
 7     while(b)
 8     {
 9         if(b & 1)
10             yaoyuan = (yaoyuan + a) % mod;
11         a = (a + a) % mod;
12         b >>= 1;
13     }
14     return yaoyuan;
15 }
16 int main()
17 {
18     LL a , b , p;
19     while(~scanf("%lld%lld%lld" , &a , &b , &p))
20     {
21         printf("%lld\n" , QuickAdd(a , b , p));
22     }
23 
24 }
View Code

 

以上是关于2017-5-16-Train:喵哈哈村的魔法考试 Round #19 (Div.2)的主要内容,如果未能解决你的问题,请参考以下文章

喵哈哈村的魔法考试 Round #10 (Div.2) B

喵哈哈村的魔法考试 Round #3 (Div.2) ABCDE

喵哈哈村的魔法考试 Round #10 (Div.2) A

喵哈哈村的魔法考试 Round #14 (Div.2)

2017-5-20-Train: 喵哈哈村的魔法考试 Round #17 (Div.2)

2017-5-17-Train:喵哈哈村的魔法考试 Round #18 (Div.2)