NYOJ 整数性质

描述

我们知道,在数学中,对于任意两个正整数a和b,必定存在一对整数s、t使得sa+tb=gcd(a,b)。

输入
多组测试数据。
每组数据输入两个非负整数a和b且a+b>0且a不等于b。
其中0<=a,b<100000。
输出
输出满足条件的 s 和 t 。
样例输入
2 4
3 8
737 635
样例输出
1 0
3 -1
193 -224

直接模板代码就解决了。
 1 #include <stdio.h>
 2
 3 void MEuclid(int a,int b,int &d,int &x,int &y)
 4 {
 5  if(b==0){d=a;x=1;y=0;return;}
 6  MEuclid(b,a%b,d,y,x);
 7  y-=x*(a/b);
 8 }
 9
10 int main(void){
11     int a,b,x,y,d;
12     while(scanf("%d%d",&a,&b) != EOF){
13         MEuclid(a,b,d,x,y);
14         printf("%d %d\n",x,y);
15     }
16     return 0;
17 }

时间: 2024-12-14 18:17:14

NYOJ 整数性质的相关文章

整数性质和精度测试

题目:http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=612 1 /*http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=612 2 关键是对数处理位数 3 */ 4 #include <iostream> 5 #include <stdio.h> 6 #include <math.h> 7 #include <vec

NYOJ 整数划分(三)

整数划分(三) 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描述 整数划分是一个经典的问题.请写一个程序,完成以下要求. 输入 每组输入是两个整数n和k.(1 <= n <= 50, 1 <= k <= n) 输出 对于输入的 n,k; 第一行: 将n划分成若干正整数之和的划分数. 第二行: 将n划分成k个正整数之和的划分数. 第三行: 将n划分成最大数不超过k的划分数. 第四行: 将n划分成若干个 奇正整数之和的划分数. 第五行: 将n划分成若干不同整

整数性质

整数性质 时间限制:500 ms  |  内存限制:65535 KB 难度:1 描述 我们知道,在数学中,对于任意两个正整数a和b,必定存在一对整数s.t使得sa+tb=gcd(a,b). 输入 多组测试数据. 每组数据输入两个非负整数a和b且a+b>0且a不等于b. 其中0<=a,b<100000. 输出 输出满足条件的 s 和 t . 样例输入 2 4 3 8 737 635 样例输出 1 0 3 -1 193 -224 提示 运用欧几里得定理求得的才是正确答案. 来源 原创 上传者

nyoj 正数性质

整数性质 时间限制:500 ms  |  内存限制:65535 KB 难度:1 描述 我们知道,在数学中,对于任意两个正整数a和b,必定存在一对整数s.t使得sa+tb=gcd(a,b). 输入 多组测试数据.每组数据输入两个非负整数a和b且a+b>0且a不等于b.其中0<=a,b<100000. 输出 输出满足条件的 s 和 t . 样例输入 2 4 3 8 737 635 样例输出 1 0 3 -1 193 -224 提示 运用欧几里得定理求得的才是正确答案. http://baik

NYOJ - 整数划分(四)

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=746 要求对一个n的整数插入m个乘号,求最大结果. 构造dp:dp[i][j]表示枚举至j时,插入i个乘号的状态. 那么dp[i][j]=dp[i-1][k]*sum(k+1,j). #include <iostream> #include <map> #include <algorithm> #include <vector> #include &

NYOJ-整数性质(扩展欧几里得)

整数性质 时间限制:500 ms  |  内存限制:65535 KB 难度:1 描述 我们知道,在数学中,对于任意两个正整数a和b,必定存在一对整数s.t使得sa+tb=gcd(a,b). 输入 多组测试数据. 每组数据输入两个非负整数a和b且a+b>0且a不等于b. 其中0<=a,b<100000. 输出 输出满足条件的 s 和 t . 样例输入 2 4 3 8 737 635 样例输出 1 0 3 -1 193 -224 代码: #include<stdio.h> voi

二叉树 二叉树的性质 存储结构 遍历二叉树 C实现二叉树的创建和遍历 线索二叉树

定义 二叉树(binary tree)是n(n>=0)个结点的有限集合,该集合为空集合称为空二叉树,或者有一个根结点和两棵互不相交的,分别称为树根结点的左孩子树和右孩子树组成. 二叉树的特点 每个结点最多有两棵子树,所以二叉树总没有度大于2的结点 左子树和右子树是有顺序的,次数不能任意颠倒 即使树中某结点只有一棵子树,也要区分是左子树还是右子树 特殊的二叉树 1. 斜树 所有的结点都只有左子树的二叉树称为左斜树; 所有的结点都只有右子树的二叉树称为右斜树; 这两者统称为斜树 2. 满二叉树 在一

getBoundingClientRect的用法

getBoundingClientRect用于获取某个元素相对于视窗的位置集合.集合中有top, right, bottom, left等属性. 1.语法:这个方法没有参数. rectObject = object.getBoundingClientRect(); 2.返回值类型:TextRectangle对象,每个矩形具有四个整数性质( 上, 右 , 下,和左 )表示的坐标的矩形,以像素为单位. rectObject.top:元素上边到视窗上边的距离; rectObject.right:元素右

【原创】开源Math.NET基础数学类库使用(09)相关数论函数使用

开源Math.NET基础数学类库使用系列文章总目录: 链接 2.开源C#彩票数据资料库系列文章:链接 3.开源的.NET平台ORM组件文章:链接 4.其他开源的.NET组件文章:链接 5..NET平台机器学习组件-Infer.NET系列文章:链接 6.Matlab混合编程文章:链接 前言 数论就是指研究整数性质的一门理论.数论=算术.不过通常算术指数的计算,数论指数的理论.整数的基本元素是素数,所以数论的本质是对素数性质的研究.它是与平面几何同样历史悠久的学科.它大致包括代数数论.解析数论.计算