中南大学2012暑期集训中期检测训练赛-求逆元

简介: 给定正整数x,y,求最小的正整数z使得x*z mod y = 1。

Problem A: 求逆元

Time Limit: 1 Sec   Memory Limit: 2 MB

SUBMIT: 232   Solved: 77

[SUBMIT] [STATUS]


Description


给定正整数x,y,求最小的正整数z使得x*z mod y = 1。


Input


多组数据,每行两个整数x,y 空格隔开。2 <= x, y < 10^6。


Output


输出所求的数,如果小于y的数中不存在这样的数,输出No。


Sample Input


2 3

6 11


Sample Output


2

2


HINT



思路:原方程x*z mod y = 1可转移为:x*z-y*b=1,明显的扩展欧几里德,直接套模板。


#include<stdio.h> 
int exgcd(int a,int b,int &x,int &y)  
{     
  int i,j;     
  if(b==0)     
  {         
    x=1;         
    y=0;         
    return a;     
  }     
  i=exgcd(b,a%b,x,y);     
  j=x;     
  x=y;     
  y=j-a/b*y;     
  return i; 
} 
int main() 
{     
  int a,b,x,y,r;     
  while(scanf("%d %d",&a,&b)!=EOF)     
  {         
    r=exgcd(a,b,x,y);         
    if(r==1)         
    {             
      while(x<0)             
      {                 
        x+=b;                 
        y-=a;             
      }             
      printf("%d\n",x);        
    }
    else            
      printf("No\n");     
  }     
  return 0; 
}



相关文章
|
机器学习/深度学习
学霸、学神OR开挂
我们学习知识 好比武侠世界里的人修炼武功一般 有人天赋异禀、骨骼清奇 是天生的练武奇才——学神 有人天资平庸,但通过后天的孜孜不倦 终成一代大侠——学霸 还有人一路奇遇不断,屡获高人指点 成为绝世高手——外挂玩家
学霸、学神OR开挂
【每日一道智力题】之 赛马找最快
【每日一道智力题】之 赛马找最快
231 0
|
物联网 区块链
2018 展望 | 区块链:第一个高(泡)峰(沫)后,要迈几道坎?
区块链就像个成长中的孩子:该夸的时候要夸,该喂的时候要喂。但该吃的苦头,该碰的壁,也一样少不了。
1386 0
哈佛天文学家:A级外星文明在实验室里造出了我们的宇宙
宇宙是如何产生的?前哈佛天文学系主任Avi Loeb提出,宇宙是比人类更高级的文明在实验室里造出来的!
367 0
哈佛天文学家:A级外星文明在实验室里造出了我们的宇宙
转载: 中国高考令世界感慨:以“残酷”闻名
让学生承受巨大压力,也提供了“刚性”的公平竞争机会 全 世界最大规模的升学考试,又一次在中国上演并谢幕,光考生就950万人,相当于欧洲一个中等国家。它肯定是中国目前最平等的竞争舞台,但历年来国内外对它 的批评却极其尖锐。
996 0

热门文章

最新文章