15
被1000003整除?容易,只需将最后一位乘以300001然后加!
给定一个P大于的质数10,您的程序或函数必须弄清楚其除数规则x,定义为具有最小绝对值的整数,当将其与质数的最后一位相乘并加到其余的原始数时,该整数将产生原始质数的倍数主要。 例 给定输入31,最后一个数字为1,其余数字为3。因此,您的程序必须找到x具有最小绝对值的整数,该整数应1*x + 3是的倍数31。在这种情况下,x=-3可以正常工作,因此程序或函数将返回-3。 给定输入1000003,最后一个数字为3,其余数字为100000。这样您的程序就会找到,x=300001因为3*300001+100000 = 1000003它是的倍数1000003。 数学背景 的值x可以用作除数检验。如果一个数字可N被整除P,则将x的最后一位数字N与的余数相加N将得到Pif和only N的可被P第一个整数整除的倍数。 因为P=11,我们得到x=-1,它等于以下公知的除数规则11:一个数字可通过11交替改变其数字的位数来除以11。 规则 输出可以采用任何清楚地编码输出的符号和值的形式。 输入素数将在10到2 ^ 30之间。 如果输入不是素数或不在范围内,则无需处理。 如果x和-x均为有效输出,则不需要处理(不应发生)。 允许使用蛮力,但希望有更多创造性的解决方案。 这是代码高尔夫球,因此每种语言中最短的代码胜出!不要让打高尔夫球的语言的答案妨碍您发布其他语言的信息。 测试用例 Input Output 11 -1 13 4 17 -5 19 2 23 7 29 3 31 -3 37 -11 41 -4 43 13 47 -14 53 16 59 6 …