5-42 求符合給定條件的整數集   (15分)

給定不超過6的正整數A,考慮從A開始的連續4個數字。請輸出所有由它們組成的無重複數字的3位數。

輸入格式:

輸入在一行中給出A。

輸出格式:

輸出滿足條件的的3位數,要求從小到大,每行6個整數。整數間以空格分隔,但行末不能有多餘空格。

輸入樣例:

2

輸出樣例:

234 235 243 245 253 254
324 325 342 345 352 354
423 425 432 435 452 453
523 524 532 534 542 543


解析:從小到大遍歷所有情況,根據條件去除不需要的。相似題:換硬幣

#include <stdio.h>
int main () {
	int a, cnt = 0;
	scanf("%d", &a);
	//從小到大遍歷所有情況,去除有相同位的 
	for ( int k = a; k < a + 4; k++ )
		for ( int i = a; i < a + 4; i++ )
			for ( int j = a; j < a + 4; j++ )
				if( k != i && k != j && i != j ) {
					printf("%d%d%d", k, i, j);
					cnt++;
				//滿6個換行,否則輸出空格 
				if ( cnt % 6 == 0 )
					printf("\n");
				else 
					printf(" ");
				}	
	return 0;
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章