- ベストアンサー
4けたの数字で15になる組み合わせ
初めまして。 Ryuko_87です。 4,3,2けたの数字で15になる組み合わせ と 4,3けたの数字で31になる組み合わせ と 4,3けたの数字で32になる組み合わせ が知りたいのですが、教えていただけないでしょうか? お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんなのプログラム書けば一瞬で答えが出ますね: #include <stdio.h> #include <stdbool.h> void FindNum(int nums[], int num_nums, int level, int remains, bool used[], bool no_same) { if (level < 0 || remains < 0) return; if (level == 0 && remains == 0) { for (int i = 0; i < num_nums; ++i) { printf("%d", nums[i]); } printf("\n"); return; } for (int i = 0; i < 10; ++i) { if (no_same && used[i]) { continue; } if (remains >= i) { nums[num_nums] = i; used[i] = true; FindNum(nums, num_nums + 1, level - 1, remains - i, used, no_same); used[i] = false; } } } void FindCombination(int max_digits, int min_digits, int sum, bool no_same) { int nums[max_digits]; for (int digits = max_digits; digits >= min_digits; --digits) { bool used[10] = {false}; printf("Digits = %d, Sum = %d\n", digits, sum); FindNum(nums, 0, digits, sum, used, no_same); printf("\n"); } } int main(void) { FindCombination(4, 2, 15, false); FindCombination(4, 3, 31, false); FindCombination(4, 3, 32, false); return 0; } > bin-chanさんが質問していた同じ数字は使えない > 等のしばりはどうします?とありましたが、しばりは > なしで考えてくれればと思っています。 > あと、4ケタで31、32になる数字の組み合わせがあれば > 教えていただけないでしょうか? 上記のプログラムによると、同じ数字を使えないという縛りを入れると、4桁で31, 32になる組み合わせは作れません。 同じ数字を許すと、こんな感じですね。 4桁で31になる組み合わせ: 4999 5899 5989 5998 6799 6889 6898 6979 6988 6997 7699 7789 7798 7879 7888 7897 7969 7978 7987 7996 8599 8689 8698 8779 8788 8797 8869 8878 8887 8896 8959 8968 8977 8986 8995 9499 9589 9598 9679 9688 9697 9769 9778 9787 9796 9859 9868 9877 9886 9895 9949 9958 9967 9976 9985 9994 4桁で32になる組み合わせ: 5999 6899 6989 6998 7799 7889 7898 7979 7988 7997 8699 8789 8798 8879 8888 8897 8969 8978 8987 8996 9599 9689 9698 9779 9788 9797 9869 9878 9887 9896 9959 9968 9977 9986 9995 ..余談ですが、3桁で作れる和の最大値は9 * 3で27なので重複を許しても、31、32は無理ですよね。
その他の回答 (2)
- E-1077
- ベストアンサー率25% (3258/12620)
三けたは無理 9+9+9=27が最高だからね。 6+8+8+9=31 6+8+9+9=32 は?
お礼
回答ありがとうございます。
- bin-chan
- ベストアンサー率33% (1403/4213)
「同じ数字は使えない」等のしばりはどうします? 以下、組み合わせのみ、順序入れ替えは省略 2けたの数字で15: 69 78 3けたの数字で15: 159 168 249 258 267 348 357 456 4けたの数字で15: 1239 1248 1257 1347 1356 2346 3桁で31、32になる数字の組み合わせは無理。 題意の読み取りがまちがってるかも。
お礼
bin-chanさん、質問の回答ありがとうございます。 bin-chanさんが質問していた同じ数字は使えない 等のしばりはどうします?とありましたが、しばりは なしで考えてくれればと思っています。 あと、4ケタで31、32になる数字の組み合わせがあれば 教えていただけないでしょうか? お願いします(-_-)
お礼
助かりました。 ありがとうございます)^o^(