1. 程式人生 > >你會解嗎? ?+?+?=30 把下面數字填到框裡 (1,3,5,7,9,11,13,15)

你會解嗎? ?+?+?=30 把下面數字填到框裡 (1,3,5,7,9,11,13,15)

以下程式轉自知乎

#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
    for(int base = 10 ; base <= 19; base++) {//數字到9,所以最小是10進位制
        int number[8] = {1, 3, 5, 7, 9, base + 1, base + 3, base + 5};
        for(int i = 0; i < 8; i++)
        for(int j = i; j < 8; j++)
        for
(int k = j; k < 8; k++) if(number[i] + number[j] + number[k] == base * 3) printf("%4d 進位制 %2d + %2d + %2d = 30\n", base, 2*i+1, 2*j+1, 2*k+1); } return 0; }

結果:

  11 進位制  1 + 15 + 15 = 30
  11 進位制  3 + 13 + 15 = 30
  11 進位制  5 + 11 + 15 = 30
  11 進位制  5 + 13 + 13
= 30 11 進位制 7 + 11 + 13 = 30 11 進位制 9 + 11 + 11 = 30 13 進位制 3 + 15 + 15 = 30 13 進位制 5 + 13 + 15 = 30 13 進位制 7 + 11 + 15 = 30 13 進位制 7 + 13 + 13 = 30 13 進位制 9 + 11 + 13 = 30 15 進位制 5 + 15 + 15 = 30 15 進位制 7 + 13 + 15 = 30 15 進位制 9 + 11 + 15 = 30 15 進位制 9 + 13 + 13 = 30 17 進位制 7
+ 15 + 15 = 30 17 進位制 9 + 13 + 15 = 30 19 進位制 9 + 15 + 15 = 30 Process returned 0 (0x0) execution time : 3.131 s Press any key to continue.