百、十、個位各從 {1,2,3,4} 選取,三位數字互不相同。總數 = P(4,3) = 4×3×2 = 24 種。
#include <stdio.h>
int main(void) {
int count = 0;
for (int i = 1; i <= 4; i++) // 百位
for (int j = 1; j <= 4; j++) // 十位
for (int k = 1; k <= 4; k++) { // 個位
if (i != j && i != k && j != k) {
printf("%d%d%d\n", i, j, k);
count++;
}
}
printf("Total: %d\n", count);
return 0;
}
123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432 Total: 24
int a[] = {1,2,3,4};
// 使用 next_permutation 或遞迴生成全排列
// 取前三位即為所需三位數
三重迴圈直觀易懂,適合初學者理解排列生成邏輯。