兩個(2 位)數(shù)字寫在一起,所以它們形成一個 4 位數(shù)字。這個 4 位數(shù)字可以被這兩個數(shù)字的乘法相除。問題是我必須找到這個數(shù)字。我寫了一個算法并得到了 2 對這些數(shù)字。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答案)我發(fā)現(xiàn)這個數(shù)字快了一點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); } }}我對如何使這個算法更有效感興趣。
讓算法更高效
慕碼人8056858
2021-07-13 14:01:26