AB29. 快速乘
描述
请你计算 的值。要求只能使用加法和取模运算,且计算过程中的值不能超过 。输入描述
第一行输入一个正整数 ,代表询问次数。输出描述
对于每次询问,输出一个整数,代表 的值。示例1
输入:
2 2 2 6 3 4 10
输出:
4 2
C++ 解法, 执行用时: 36ms, 内存消耗: 1160KB, 提交时间: 2022-06-19
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll fun(ll x, ll y, ll z) { return x*y%z; } int main() { int n; cin>>n; while(n--) { ll x,y,z; scanf("%lld%lld%lld",&x,&y,&z); printf("%lld\n",fun(x,y,z)); } return 0; }
C 解法, 执行用时: 37ms, 内存消耗: 1016KB, 提交时间: 2022-03-31
#include <stdio.h> int main() { int sum; scanf("%d", &sum); while (sum-- > 0) { long long a, b, p; long long res = 0; scanf("%lld %lld %lld", &a, &b, &p); while(b--) { res += a % p; } printf("%lld\n", res % p); } return 0; }
C 解法, 执行用时: 38ms, 内存消耗: 1016KB, 提交时间: 2022-05-04
#include<stdio.h> int main() { int q; while(scanf("%d",&q)!=EOF) { for(int i=0;i<q;i++) { long long a,b,p; long long num=0; scanf("%lld %lld %lld",&a,&b,&p); while(b--) num+=a%p; num=num%p; printf("%lld\n",num); } } }
C 解法, 执行用时: 39ms, 内存消耗: 992KB, 提交时间: 2022-08-02
#include<stdio.h> void function(long long a, long long b, long long p) { int i = 0; long long result = 1; result=(a%p*b%p)%p; printf("%lld\n", result % p); } int main() { int q = 0; scanf("%d", &q); long long a, b, p; while (q--) { scanf("%lld%lld%lld", &a, &b, &p); function(a, b, p); } return 0; }
C++ 解法, 执行用时: 39ms, 内存消耗: 1072KB, 提交时间: 2022-05-22
#include<iostream> #include<vector> using namespace std; int main() { long long int q,a,b,p; scanf("%lld",&q); for(int i=0;i<q;i++) { long long int num=0; scanf("%lld%lld%lld",&a,&b,&p); if(b==0) printf(0); for(int j=0;j<b;j++) { num+=a; } printf("%lld\n",num%p); } }