As rich as Crassus(扩展中国剩余定理)
题目:As rich as Crassus
思路:本题的思路就是扩张中国剩余定理。
代码:
#include<bits/stdc++.h>
using namespace std;
#define LL long long
LL n, m[105], a[105], flag = 0, A;
LL exgcd(LL a, LL b, LL &x, LL &y)
{if(!b){x = 1;y = 0;return a;}LL re = exgcd(b, a % b, x, y);LL tmp = x;x = y;y = tmp - (a/b)*y;return re;
}
void CRT()
{LL M = 1;A = 0;for(int i = 1; i <= 3; i++){LL x, y, d, mm;d = exgcd(M, m[i], x, y);mm = m[i] / d;if((a[i]-A) % d){flag = 1;return ;}x = (x % mm + mm) % mm;LL k = ((a[i]-A)/d*x%mm+mm)%mm;LL nM = M * mm;A = (A + k*M) % nM;M = nM;}
}
int main()
{int T;scanf("%d", &T);while(T--){for(int i = 1; i <= 3; i++)scanf("%lld", &m[i]);for(int i = 1; i <= 3; i++)scanf("%lld", &a[i]);CRT();if(flag)printf("-1\n");else{if(!A)printf("0\n");else{LL tmp = pow(A, 1.0/3.0);if(tmp * tmp * tmp < A)printf("%lld\n", tmp+1);else printf("%lld\n", tmp);}}}return 0;
}
As rich as Crassus(扩展中国剩余定理)相关推荐
- 中国剩余定理(CRT)扩展中国剩余定理(exCRT)
前言 中国剩余定理(也叫孙子定理)并不是很复杂,由于最近用到了,以前学的时候还不写博客,所以现在补一下 中国剩余定理(CRT) 问题 给出nnn个同余方程 x≡a1(modp1)x≡a2(modp2) ...
- 数学--数论--中国剩余定理+扩展中国剩余定理(孙子定理)
中国剩余定理 问题 求解同余方程组 其中m1,m2,m3...mkm_1,m_2,m_3...m_km1,m2,m3...mk为两两互质的整数 求x的最小非负整数解 定理 令M=∏i=1kmi ...
- 模线性方程(中国剩余定理+扩展中国剩余定理)
已知一系列除数和模数,求最小的满足条件的数 我们先考虑一般的情况,即模数不互质.(扩展中国剩余定理) 我们考虑两个方程的情况 x%M=R x=k1∗M+Rx=k1 * M+Rx=k1∗M+R x%m= ...
- [数论]-----中国剩余定理(扩展中国剩余定理)
中国剩余定理 中国剩余定理(CRT)用于求形如: { x ≡ a 1 ( m o d m 1 ) x ≡ a 2 ( m o d m 2 ) ⋯ ⋯ x ≡ a k ( m o d m k ) \be ...
- 中国剩余定理扩展中国剩余定理 入门详解
中国剩余定理 例题 已知以下 n n n同余方程(所有 m i m_i mi互质): x ≡ a 1 ( m o d m 1 ) x≡a_1(\mod m_1) x≡a1(modm1) x ≡ ...
- 中国剩余定理 扩展中国剩余定理 模板
中国剩余定理解线性同余线性方程 /*long long gcd(LL a,LL b) {return b==0?a:gcd(b,a%b); }*/ #include<bits/stdc++.h& ...
- 中国剩余定理 扩展中国剩余定理 (模板)
中国剩余定理 && 扩展中国剩余定理 一个整数除以三余二,除以五余三,除以七余二,求这个整数. 例题: 一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K.例如,K % ...
- 中国剩余定理(CRT)和扩展中国剩余定理(EXCRT)
Tip:建议读者不要太着急后翻,按照顺序阅读有助于理解 中国剩余定理(CRT) 问题引出 "有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何?"即,一个整数除以三余 ...
- POJ2891 Strange Way to Express Integers【扩展中国剩余定理】
题目大意 就是模板...没啥好说的 思路 因为模数不互质,所以直接中国剩余定理肯定是不对的 然后就考虑怎么合并两个同余方程 \(ans = a_1 + x_1 * m_1 = a_2 + x_2 * ...
最新文章
- intel xdk 打ios的ipa包
- 音视频技术:视频质量评价方法简介
- 查看每个表空间的使用率
- 132.非对称加密?数据安全的特征?
- c++判断数字是否为3的倍数的算法实现(附完整源码)
- git for windows_Git for Windows,Git 国内镜像持续更新
- R语言观察日志(part20)--包的组件之R代码
- @ResponseBody导致的返回值中文乱码
- NOIP模拟测试16「Drink·blue·weed」
- CNCC 技术论坛 | 知识图谱赋能数字经济
- “牛津第一,16岁上大学”,中国美女学霸被骂学术媛?学术人“光鲜亮丽”就是错?...
- Rancher2.x流水线自动化部署
- java 连接mongodb
- 使用ADO的通用DAL
- echarts 折线图阴影颜色渐变
- 把3000行代码重构成15行的牛逼操作!!!
- 小熊派鸿蒙开发版,小熊派IoT开发板系列教程合集
- Jsp简单入门与Jsp实用教程总结
- PPT绘图之AI助力论文图
- dataframe_转换日期格式