码迷,mamicode.com
首页 > 其他好文 > 详细

乘法逆元

时间:2014-12-02 00:19:22      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:include   return   

求乘法逆元的代码:

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <string.h>
#include <math.h>

using namespace std;

int gcd(int a,int b,int &x,int &y)
{
    int ans;
    if(!b)
    {
        x=1;
        y=0;
        return a;
    }
    ans = gcd(b,a%b,x,y);
    int temp = x;
    x= y;
    y= temp - (a/b)*y;
    return ans;
}
int main()
{

///求ax+by=c的乘法逆元
    int a,b,c,x,y;
    int temp;
    while(scanf("%d%d%d",&a,&b,&c),a||b||c)
    {
        int ans_x,ans_y;///a,b的逆元
        ///c总为1
        temp = gcd(a,b,x,y);
        if(c%temp)
        {
            printf("乘法逆元不存在!\n");
            continue;
        }
        ans_x = (x*c/temp) <0 ? x*c/temp+b : x*c/temp;
        ans_y = (y*c/temp) <0 ? y*c/temp+a : y*c/temp;
        printf("%d  %d\n",ans_x,ans_y);
        }
    return 0;
}


乘法逆元

标签:include   return   

原文地址:http://tzxvae.blog.51cto.com/8981690/1585250

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!