已知aa+bb+cc=abc 其中a,b,c均为正整数,请写出能计算出a,b,c分别等于多少的sql语
1个回答
展开全部
谁出的题这么牛,这种应用在真实环境中永远也用不上,就是折腾人的。
在SQL的代码块里面可以使用循环,如
BEGIN
DECLARE a INT DEFAULT 1;
WHILE a < 10 DO
SET a = a + 1;
END WHILE;
END
这个就是核心了,3重遍历而已,很无聊。
abc只能是1-9之间的正整数,要证明为什么很困难,不写了。因此实际上只要3重循环遍历所有的个位数组合方式就能得到结果。最后a=1,b=9,c=8。
写sql太麻烦,js写一下遍历方式好了 ,你可以根据上面的WHILE语法自己重写一下。
for(var a=1; a<10; a++) {
for(var b=1; b<10; b++) {
for(var c=1; c<10; c++) {
if (b == 89 * a - 10 * c) {
alert('a:' + a + ', b:' + b + ', c:' + c);
}
}
}
}
注:当abc均为1-9的整数时,原题可以变换为
11a + 11b + 11c = 100a + 10b + c;
因此推出 b == 89 * a - 10 * c
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询