NYOJ144 小珂的苦恼 (扩展gcd)

题目描述:

http://acm.nyist.net/JudgeOnline/problem.php?pid=144


小珂是一名初中生,她现在很苦恼,因为老师布置了一个让她苦恼的作业,你能不能帮助她呢?题目信息如下。

已知二元一次方程 a*x+b*y=n, 判断这个二元一次方程有没有整数解,x,y为未知数,其中a,b,n都为整数且不等于零,同时满足0<a,b,n<2^16-1。

输入
第一行有一个整数0<n<=1000000表示有 n组测试数据,接下来的每一行有三个整数分别是a,b,n

输出
存在整数x和y使得方程有解,输出“Yes”,否则输出“No”

样例输入
2
2 4 2
3 9 7
样例输出
Yes
No

题目分析:

对于gcd(a,b)=ax+by,一定存在唯一的x和y使等式成立

AC代码:

/**
 *对于gcd(a,b)=ax+by,存在唯一的x和y使等式成立
 */
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int gcd(int a,int b)
{
    while(b){
        int r=a%b;
        a=b;
        b=r;
    }
    return a;
}
int main()
{
    int a,b,c,p,t;
    scanf("%d",&t);
    while(t--){
        scanf("%d%d%d",&a,&b,&c);
        p=gcd(a,b);
        if(c%p==0){//c是p的倍数即可
            printf("Yes\n");
        }
        else printf("No\n");
    }
    return 0;
}
时间: 2024-08-10 09:29:03

NYOJ144 小珂的苦恼 (扩展gcd)的相关文章

NYOJ 144 小珂的苦恼【扩展gcd】

题目链接 /* 对于gcd(a,b)=ax+by,存在唯一的x和y使等式成立 */ #include<stdio.h> int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } int main() { int s,p; int a,b,n; scanf("%d",&s); while(s--) { scanf("%d%d%d",&a,&b,&n); p=gcd(a,b); if

NYOJ-小珂的苦恼

小珂的苦恼 时间限制:1000 ms  |  内存限制:1000 KB 难度:2 描述 小珂是一名初中生,她现在很苦恼,因为老师布置了一个让她苦恼的作业,你能不能帮助她呢?题目信息如下. 已知二元一次方程 a*x+b*y=n, 判断这个二元一次方程有没有整数解,x,y为未知数,其中a,b,n都为整数且不等于零,同时满足0<a,b,n<2^16-1. 输入 第一行有一个整数0<n<=1000000表示有 n组测试数据,接下来的每一行有三个整数分别是a,b,n 输出 存在整数x和y使得

NYOJ154 聪明的小珂 【互质】

聪明的小珂 时间限制:1000 ms  |  内存限制:1000 KB 难度:3 描写叙述 小珂是一个爱美的女孩.她有n条新项链.标号从1到n.每一条项链在颜色上都会有一些区别,n条项链依次摆放,围成一个圈.小珂每次都会从上一次选择项链的位置開始数到第k条项链,把这条项链作为今天要带的项链,每次数的方向都是一致的.如今希望你帮小珂计算出一个最大的k,满足k<=n/2的同一时候,使得小珂在接下来的n天中将全部的项链都刚好带了一遍. 比如 n=7.取k=3 天数  项链编号 1           

NYOJ-聪明的小珂

聪明的小珂 时间限制:1000 ms  |  内存限制:1000 KB 难度:3 描述 小珂是一个爱美的女孩,她有n条新项链,标号从1到n,每一条项链在颜色上都会有一些差别,n条项链依次摆放,围成一个圈.小珂每次都会从上一次选择项链的位置开始数到第k条项链,把这条项链作为今天要带的项链,每次数的方向都是一致的,现在希望你帮小珂计算出一个最大的k,满足k<=n/2的同时,使得小珂在接下来的n天中将所有的项链都刚好带了一遍. 例如 n=7,取k=3 天数  项链编号 1               

NYOJ 145 聪明的小珂

/* 题目大意:求解和输入数的互质的数 解题思路:求解和 n 互质的最大数,从n/2开始找 关键点:GCD函数的使用 解题人:lingnichong 解题时间:2014-10-04 16:11:55 解题体会:还是不知道为什么这样就对了 */ 聪明的小珂 时间限制:1000 ms  |  内存限制:1000 KB 难度:3 描述 小珂是一个爱美的女孩,她有n条新项链,标号从1到n,每一条项链在颜色上都会有一些差别,n条项链依次摆放,围成一个圈.小珂每次都会从上一次选择项链的位置开始数到第k条项链

poj1061——扩展gcd水题

poj1061——扩展gcd水题 青蛙的约会 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 94176   Accepted: 17413 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置.不过青蛙们都是很乐观的,它们觉

HDOJ 2769 Disgruntled Judge 扩展GCD

扩展GCD: 枚举a,扩展GCD求b,再暴力检查 Disgruntled Judge Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 329    Accepted Submission(s): 142 Problem Description Once upon a time, there was an nwerc judge with

2014年百度之星程序设计大赛 - 初赛(第一轮) hdu Grids (卡特兰数 大数除法取余 扩展gcd)

题目链接 分析:打表以后就能发现时卡特兰数, 但是有除法取余. f[i] = f[i-1]*(4*i - 2)/(i+1); 看了一下网上的题解,照着题解写了下面的代码,不过还是不明白,为什么用扩展gcd, 不是用逆元吗.. 网上还有别人的解释,没看懂,贴一下: (a / b) % m = ( a % (m*b)) / b 笔者注:鉴于ACM题目特别喜欢M=1000000007,为质数: 当gcd(b,m) = 1, 有性质: (a/b)%m = (a*b^-1)%m, 其中b^-1是b模m的逆

扩展gcd codevs 1200 同余方程

codevs 1200 同余方程 2012年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 求关于 x 同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入描述 Input Description 输入只有一行,包含两个正整数 a, b,用 一个 空格隔开. 输出描述 Output Description 输出只有一行包含一个正整数x0,即最小正整数解,输入数据保证一定有解. 样例输入 Sa