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 }
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 }
时间: 2024-10-12 03:04:26