小红吃桃! 模的乘积运算性质
作者:
WindSkyEnd
,
2024-11-09 16:01:06
,
所有人可见
,
阅读 2
乘积整体的模可以转换为单个乘积的模相乘
例如 (3x5x6)%7=6 可以转化成(3x5)%7x6%7 = 6
(3x5)%7 –> (2x7+1)x6 –> 含有7的因式可以不用管了 最后都会被模掉
加法同理也可以结合律 (3+5+4)%7 = ( (3+5)%7 + 4 )%7
取模的乘积运算以及和差运算有点类似于乘法对加法 总之就是 结合律
#include <cstdio>
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <sstream>
using namespace std;
using ll = long long int;
int main()
{
ll T;
cin >>T;
string str1;
string str2;
getchar(); //清空cin留的换行符 刷新缓冲区
getline(cin,str1);
getline(cin,str2);
stringstream ssin1(str1);
stringstream ssin2(str2); //对于换行读取 sstream
int sum1 = 1 , sum2 = 1;
while(T--)
{
ll sd , td;
ssin1 >> sd ;
ssin2 >> td ;
if(sd > td) swap(sd,td);
sum1 = (sum1*sd)%(1000000000+7);
sum2 = (sum2*td)%(1000000000+7);
}
cout << (sum1+sum2)%(1000000000+7);
return 0;
}
https://ac.nowcoder.com/acm/contest/95700/E