题目描述
求 a 乘 b 对 p 取模的值,其中 1≤a,b,p≤10^18。
输入
第一行a,第二行b,第三行p。
输出
一个整数,表示a*b mod p的值。
样例输入
2
3
9
样例输出
6
提示
a×b mod c=a×b-[a×b/c]×c([x]表示x下取整)

#include <bits/stdc++.h> using namespace std; #define ll long long ll fun(ll a,ll b,ll c) { ll cnt=(long double) a*b/c; ll ans=a*b-cnt*c; ans=(ans+c)%c; return ans; } int main() { std::ios::sync_with_stdio(false); std::cin.tie(0); ll a,b,c; cin>>a>>b>>c; cout<<fun(a,b,c)<<endl; return 0; }