【题目链接】

ybt 1080:余数相同问题
OpenJudge NOI 2.1 7647:余数相同问题
OpenJudge NOI 小学奥数 7647:余数相同问题

【题目考点】

1. 枚举

【解题思路】

题目给出a,b,c小于等于10610^6106,可行的解一定小于10610^6106,可以考虑用枚举解法。

  1. 枚举解法
    x从2循环到1000000,分别求a % x, b % x, c % x,如果三者的结果相等,那么输出x,结束程序。

  2. 处理后的枚举解法
    已知a,b,c除以数x后得到的余数相同,可以有方程组
    a÷x=q1⋯⋯ra \div x = q_1 \cdots\cdots ra÷x=q1​⋯⋯r
    b÷x=q2⋯⋯rb \div x = q_2 \cdots\cdots rb÷x=q2​⋯⋯r
    c÷x=q2⋯⋯rc \div x = q_2 \cdots\cdots rc÷x=q2​⋯⋯r
    其中x,q1,q2,q3,rx,q_1,q_2,q_3,rx,q1​,q2​,q3​,r都是整数
    方程两两相减,调整后可得
    a−bx=q1−q2\frac{a-b}{x} = q_1 - q_2xa−b​=q1​−q2​
    b−cx=q2−q3\frac{b-c}{x} = q_2 - q_3xb−c​=q2​−q3​
    由于不清楚a,b,c的大小关系。为了使参与运算的表达式都是非负数,对等式两侧取绝对值,有
    ∣a−b∣x=∣q1−q2∣\frac{|a-b|}{x} = |q_1 - q_2|x∣a−b∣​=∣q1​−q2​∣
    ∣b−c∣x=∣q2−q3∣\frac{|b-c|}{x} = |q_2 - q_3|x∣b−c∣​=∣q2​−q3​∣
    等式右侧的都是整数值,因而左侧必然可以整除,即∣a−b∣|a-b|∣a−b∣可以整除xxx,且∣b−c∣|b-c|∣b−c∣可以整除xxx。
    题目要求最小的x,即求∣a−b∣|a-b|∣a−b∣与∣b−c∣|b-c|∣b−c∣的最小公约数。
    具体方法,还是枚举。x从2循环到1000000,看哪个x能同时被∣a−b∣|a-b|∣a−b∣和∣b−c∣|b-c|∣b−c∣整除。
    注意:不能写为x从2循环到min(∣a−b∣,∣b−c∣)min(|a-b|,|b-c|)min(∣a−b∣,∣b−c∣),因为这两个差值可能为0,从2开始循环的话,会导致循环体一次都不执行,以至于没有输出。

【题解代码】

解法1:枚举

#include<bits/stdc++.h>
using namespace std;
int main()
{int x, a, b, c;cin>>a>>b>>c;int am, bm, cm;//a,b,c对x取模的值for(x = 2; x <= 1000000; ++x){am = a % x;bm = b % x;cm = c % x;if(am == bm && bm == cm && cm == am){cout<<x;//只求最小值,只要找到一个符合条件的x即可break;}}return 0;
}

解法2:处理后的枚举

#include<bits/stdc++.h>
using namespace std;
int main()
{int x, a, b, c;cin>>a>>b>>c;int ab = abs(a - b), bc = abs(b - c);for(int x = 2; x <= 1000000; x++){if(ab % x == 0 && bc % x == 0){cout<<x;break;}}return 0;
}

信息学奥赛一本通 1080:余数相同问题 | OpenJudge NOI 小学奥数/2.1 7647:余数相同问题相关推荐

  1. 信息学奥赛一本通 1081:分苹果 | OpenJudge NOI 小学奥数 7826:分苹果

    [题目链接] ybt 1081:分苹果 OpenJudge NOI 小学奥数 7826:分苹果 [题目考点] 1. 求和 [解题思路] 该问题可以抽象为:n个整数,都大于0,n个数不同,求这n个数的和 ...

  2. 信息学奥赛一本通 1082:求小数的某一位 | OpenJudge NOI 小学奥数 7830

    [题目链接] ybt 1082:求小数的某一位 OpenJudge NOI 小学奥数 7830:求小数的某一位 [题目考点] 1. 数制:求某小数位 设rrr为a/b的余数,q是整数商,那么根据 a÷ ...

  3. 信息学奥赛一本通 1101:不定方程求解 | OpenJudge NOI 2.1 7650 | 小学奥数 7650

    [题目链接] ybt 1101:不定方程求解 OpenJudge NOI 2.1 7650:不定方程求解 OpenJudge NOI 小学奥数 7650:不定方程求解 [题目考点] 1. 枚举 [解题 ...

  4. 信息学奥赛一本通 1084:幂的末尾 | OpenJudge NOI 小学奥数 7833

    [题目链接] ybt 1084:幂的末尾 OpenJudge NOI 小学奥数 7833:幂的末尾 [题目考点] 1. 同余定理 根据同余定理,有: (a∗b)%m=(a%m∗b%m)%m(a*b)\ ...

  5. 信息学奥赛一本通 1083:计算星期几 | OpenJudge NOI 小学奥数 7831

    [题目链接] ybt 1083:计算星期几 OpenJudge NOI 小学奥数 7831:计算星期几 [题目考点] 1. 同余定理 根据同余定理,有: (a∗b)%m=(a%m∗b%m)%m(a*b ...

  6. 信息学奥赛一本通 1005:地球人口承载力估计| OpenJudge NOI 小学奥数 7653

    [题目链接] ybt 1005:地球人口承载力估计 OpenJudge NOI 小学奥数 7653:地球人口承载力估计 [题目考点] 保留x位小数输出浮点型数字a的写法: cout<<fi ...

  7. 信息学奥赛一本通 1209:分数求和 | OpenJudge NOI 1.13 12:分数求和

    [题目链接] ybt 1209:分数求和 OpenJudge NOI 1.13 12:分数求和 [题目考点] 1. 求最大公约数 2. 求最小公倍数 [解题思路] 求最大公约数,可以用辗转相除法.具体 ...

  8. 信息学奥赛一本通 1294:Charm Bracelet | OpenJudge NOI 2.6 7113:Charm Bracelet | 洛谷 P2871

    [题目链接] ybt 1294:Charm Bracelet OpenJudge NOI 2.6 7113:Charm Bracelet 洛谷 P2871 [USACO07DEC]Charm Brac ...

  9. 信息学奥赛一本通 1175:除以13 | OpenJudge NOI 1.13 27:除以13

    [题目链接] ybt 1175:除以13 OpenJudge NOI 1.13 27:除以13 [题目考点] 1. 高精度 考察:高精除低精 高精模低精 高精度计算讲解 [题解代码] 解法1:使用函数 ...

最新文章

  1. event.keyCode用法及列表
  2. 每人300万激励科学探索,北大谢涛、清华朱军等50人获奖,腾讯这个大奖公布...
  3. 【cocos2d-x从c++到js】21:使用CocosCode调试JSB
  4. 【Tiny4412】 编译dnw源码报错 /lib/modules/2.6.32-431.el6.x86_64/build/: No such file or directory
  5. python构建二叉树_python--使用递归的方式建立二叉树
  6. ImageMagick 将PDF转图片命令
  7. vue使用node-sass@4.9.0时,npm intall出错
  8. 24点自动出题,可打印,A4排版
  9. selenium自动化测试环境搭建及启动safair浏览器(Mac)
  10. 什么打印软件比较好用?可以打印资料的网上打印平台
  11. 牛客 20859 兔子的名字
  12. 时序图神经网络总结(1)
  13. android 怎样删除sim卡中的联系人
  14. logistic模型预测人口python_基于logistic回归stats模型的概率预测置信区间
  15. 考研人的快乐瞬间,今天你快乐了吗?
  16. javax.net.ssl.SSLException: hostname in certificate didn't match:
  17. TwinCAT 3 控制汇川伺服 startup添加索引列表
  18. anki 新的卡片类型_Anki卡片制作:入门(1)
  19. 想从事大数据行业,大数据、数据分析和数据挖掘的区别一定要懂
  20. 网络分流器-网络分流器TAP网络流量监控

热门文章

  1. 深入分析glibc内存释放时的死锁bug
  2. 高性能Javascript HTML集合访问的学习笔记
  3. Silverlight+WCF 新手实例 象棋 介绍(一)
  4. 关于“数据中心”的最强入门科普
  5. 详解6G系统数据治理方案的设计要点和原则
  6. java无限循环可变参数,Java可变参数、加强for循环
  7. Java 18 新功能介绍
  8. Tomcat爆出高危漏洞
  9. 原生线程池这么强大,Tomcat 为何还需扩展线程池?
  10. 一文讲透Dubbo负载均衡之最小活跃数算法