C 藍橋杯 ADV 83 尋找三位數

2021-10-03 23:50:42 字數 1498 閱讀 9341

問題描述

將1,2,…,9共9個數分成三組,分別組成三個三位數,且使這三個三位數構成1:2:3的⽐例,試求出所有滿⾜條件的三個三位數。

例如:三個三位數192,384,576滿⾜以上條件。

輸⼊格式

⽆輸⼊⽂件

輸出格式

輸出每⾏有三個數,為滿⾜題設三位數。各⾏為滿⾜要求的不同解。

**柳神的解法:鏈結請點此處

分析:先確定第⼀個數字,然後判斷這個數字的兩倍數和三倍數是否滿⾜條件~ ⽤book陣列標記當前數字是否已經出現過~

#include

using

namespace std;

bool

judge

(int i,

int j,

int k)

; book[0]

=1;if

(i == j || j == k || i == k)

return

false

; book[i]=1

, book[j]=1

, book[k]=1

;int one = i *

100+ j *

10+ k;

int two =

2* one;

int three =

3* one;

if(two >=

666|| three >=

987)

return

false;if

(book[two/

100]==1

)return

false

;else

book[two/

100]=1

;if(book[two%

100/10]

==1)return

false

;else

book[two%

100/10]

=1;if

(book[two%10]

==1)return

false

;else

book[two%10]

=1;if

(book[three/

100]==1

)return

false

;else

book[three/

100]=1

;if(book[three%

100/10]

==1)return

false

;else

book[three%

100/10]

=1;if

(book[three%10]

==1)return

false

;else

return

true;}

intmain()

}}}return0;

}

藍橋杯演算法提高 尋找三位數

原題 演算法提高 尋找三位數 時間限制 1.0s 記憶體限制 512.0mb 問題描述 將1,2,9共9個數分成三組,分別組成三個三位數,且使這三個三位數構成 1 2 3的比例,試求出所有滿足條件的三個三位數。例如 三個三位數192,384,576滿足以上條件。輸入格式 無輸入檔案 輸出格式 輸出每...

尋找三位數

問題描述 將1,2,9共9個數分成三組,分別組成三個三位數,且使這三個三位數構成 1 2 3的比例,試求出所有滿足條件的三個三位數。例如 三個三位數192,384,576滿足以上條件。輸入格式 無輸入輸出格式 輸出每行有三個數,為滿足題設三位數。各行為滿足要求的不同解。public class ma...

藍橋杯 演算法提高VIP 尋找三位數

題目描述 將1,2,9共9個數分成三組,分別組成三個三位數,且使這三個三位數構成 1 2 3的比例,試求出所有滿足條件的三個三位數。例如 三個三位數192,384,576滿足以上條件。輸入 無輸入檔案 輸出 輸出每行有三個數,為滿足題設三位數。各行為滿足要求的不同解。樣例輸入無 樣例輸出無 ac p...