被除数 n 和除数 d 之间的整数除运算产生商 q 和余数 r 。 q 是最大化 q* d 的整数,使得 q* d≤n ,并且 r=n−q*d 。 5.png 给出一组整数,存在一个整数 d ,使得每个给 出的整数除以 d ,所得的余数相同。 输入格式: 输入的每行给出一个由空格分隔的非零整数序列。每行的最后一个数字是 0 ,这个 0 不属于这一序列。一个序列中至少有 2 个,至多有 1000 个数字;一个序列中的数字并不都是相等的。输入的最后一行给出单个 0 ,程序不用处理该行。 输出格式: 对于每一行输入,输出最大的整数,使得输入的每一个整数除以该数,余数相同。
时间: 2024-01-24 07:19:10 浏览: 233
人教四年级上册数学商一位数的笔算除法PPT学习教案.pptx
这道题可以用数学方法解决,考虑到对于任意一个数n,如果它与某个数d的余数相同,那么可以表示为n=qd+r,其中q为商,r为余数,且r相同。将式子变形得到r=n-qd,可以发现,如果对于任意两个数n1和n2,它们的余数相同,那么它们的差n1-n2一定可以被d整除,因为它们的商q1和q2相同,所以它们的差一定可以表示为q1d-q2d,即(q1-q2)d。
因此,对于每组输入的数,可以先求出它们两两之间的差,然后对这些差求最大公约数,即为所求的d。
代码如下:
阅读全文