HDU1576 A/B 求乘法逆元模版
来源:互联网 发布:java b2b2c 开源 编辑:程序博客网 时间:2024/04/20 05:41
HDU1576A/B
求
已知
由于
AC代码:
/*************************************************************** By: Xingxing* Date: 2016-09-26* Address: http://blog.csdn.net/legend_pawn?viewmode=contents**************************************************************/#include <iostream>#include <cstdio>typedef long long ll;const int mod=9973;using namespace std;ll quickpow(ll a,ll b){ int res=1; while(b>0){ if(b&1) res=res*a%mod; b=b>>1; a=(a%mod)*(a%mod)%mod; } return res;}int main(){ //freopen("input.txt","r",stdin); int T; cin>>T; while(T--){ int n,b; scanf("%d%d",&n,&b); ll ans; ans=n*quickpow(b,9971)%mod; cout<<ans<<endl; } return 0;}
另一种方法是扩展欧几里得求乘法逆元,即求解不定方程
AC代码:
/*************************************************************** By: Xingxing* Date: 2016-09-26* Address: http://blog.csdn.net/legend_pawn?viewmode=contents**************************************************************/#include <iostream>#include <cstdio>typedef long long ll;const int MOD=9973;using namespace std;ll extend_gcd(ll a,ll b,ll &x,ll &y){ if(a==0 &&b==0) return -1; if(b==0){ x=1;y=0;return a; } ll d=extend_gcd(b,a%b,y,x); y-=a/b*x; return d;}ll mod_reserve(ll a){ ll x,y; ll d=extend_gcd(a,MOD,x,y); if(d==1) return (x+MOD)%MOD; else return -1;}int main(){ //freopen("input.txt","r",stdin); int T; scanf("%d",&T); while(T--){ int n,b; scanf("%d%d",&n,&b); ll ans; ans=(n*(mod_reserve(b)%MOD))%MOD; cout<<ans<<endl; } return 0;}
最后一种:
要求 求
这个做法实际上是这样的,首先
然后我们设:
再将这个算式放到
两边同时乘上
代码:
A[i] = -(p / i) * A[p % i];
0 0
- HDU1576 A/B 求乘法逆元模版
- A/B(hdu1576 乘法逆元)
- HDU1576-A/B(乘法逆元+exgcd)
- hdu1576--A/B(逆元)
- hdu1576(乘法逆元)
- hdoj 1576 A/B 【扩展欧几里得 求乘法逆元】
- A/B----乘法逆元
- A/B 乘法逆元
- A/B(乘法逆元)
- Hdu 1576 A/B[乘法逆元]
- 乘法逆元 & hdu 1576 A/B
- A/B(乘法逆元)
- 以A/B HDU1576这道题实践逆元的三种求法介绍
- hdu1576-A/B
- hdu1576 A/B
- hdu1576 A/B
- hdu1576- A/B
- HDU1576 A/B
- 单例设计模式
- 面向对象与面向过程的区别?
- POJ2960 S-Nim(博弈论:sg函数)
- 前端笔试(三)
- 第四周项目3-单链表应用(2)
- HDU1576 A/B 求乘法逆元模版
- (九)ArcGIS API For Javascript调用结果地图服务
- ViewPager冲突之(ViewPager与ViewPager+Fragment滑动栏冲突)
- 开始写博客激励自己游戏引擎程序员之路
- leetcode 212. Word Search II
- 一个C程序是如何生成的
- es6的新特性(一)
- 关于Virtualbox下安装Linux系统
- python学习之 12306的一个小爬虫