[英]Find all available combinations of 3 digits
請幫助我了解如何檢查我是否有相同的號碼,但順序不同。
void ft_print_comb(void)
{
int hun;
int doz;
int uni;
hun = 0;
doz = 1;
uni = 2;
solver(hun, doz, uni);
}
void print( char f, char se, char thi)
{
ft_putchar(f);
ft_putchar(se);
ft_putchar(thi);
ft_putchar(',');
}
void solver(int x, int y, int z)
{
while (x < 9){
while (y<8){
while (z<7){
if (x < y && y < z ){
print(x, y, z);
}
z++;
}
y++;
}
x++;
}
}
創建一個函數,以升序顯示三個不同數字的所有不同組合,並按升序列出-是的,重復是自願的。
012, 013, 014, 015, 016, 017, 018, 019, 023, ..., 789
987不存在,因為789已經存在。 999不存在,因為數字9多次出現。
最簡單的方法是確保您永遠不要構造這樣的重復數字。 這是一個例子:
int main(void){
int i, j, k;
for (i = 0; i <= 9; i++) {
for (j = i+1; j <= 9; j++) {
for (k = j+1; k <= 9; k++) {
printf("%d%d%d\n", i, j, k);
}
}
}
}
在上面的示例中,您將以相同的順序擁有所有非重復數字的可能組合。 它將始終保證i <j <k;
您可能還會找到其他方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.