两个(2 位)数字写在一起,所以它们形成一个 4 位数字。这个 4 位数字可以被这两个数字的乘法相除。问题是我必须找到这个数字。我写了一个算法并得到了 2 对这些数字。1) 13 和 52,所以 1352 可以除以 13 * 52。2) 17 和 34,所以 1734 可以除以 17 * 34。我的算法是这样的:for (int i = 1010; i <= 9999; i++){ int mult = (i / 100) * (i % 100); if ((i % 100) > 9 && i % mult == 0) { Console.WriteLine(i / 100 + " <--> " + i % 100); }}编辑:使用这个算法(基于mentallurg答案)我发现这个数字快了一点for (int i = 10; i < 99; i++){ for (int j = 10; j < 99; j++) { int mult = i * j; int num = i * 100 + j; if (num % mult == 0) { Console.WriteLine(i + " <--> " + j); } }}我对如何使这个算法更有效感兴趣。
添加回答
举报
0/150
提交
取消