2021 年青岛市程序设计竞赛试题(小学组)决赛
1.方程求解
【描述】
输入正整数 a,b,c。
求有多少组 x 和 y 满足 a*x+b*y=c 。x 和 y 都是非负整数。
【输入】
一行,包含三个正整数 a,b,c,两个整数之间用单个空格隔开。
【输出】
满足 a*x+b*y=c 的 x 和 y 的组数。
【输入样例】
2 3 18
【输出样例】
4
【样例说明】
有以下 4 组 x 和 y 满足 2*x+3*y=18:
x=0,y= 6
x=3,y= 4
x=6 ,y=2
x=9,y= 0
【数据范围】
50%的数据,1<=a,b,c<=1000;
100%的数据,1<=a,b,c<=100000。
求阶乘的方法
DEVC++中的断点调试
进制转换类问题汇总
DEVC++中的快捷键
C++整型的数据范围
取模运算总结——数论
编程竞赛有相当一部分题目的结果过于庞大,整数类型无法存储,往往只要求输出取模的结果。
例如(a+b)%p,若a+b的结果我们存储不了,再去取模,结果显然不对,我们为了防止溢出,可以先分别对a取模,b取模,再求和,输出的结果相同。
a mod b表示a除以b的余数。有下面的公式:
(a + b) % p = (a%p + b%p) %p
(a - b) % p = ((a%p - b%p) + p) %p
(a * b) % p = (a%p)*(b%p) %p