プロが教えるわが家の防犯対策術!

 初めまして。
 Ryuko_87です。
 4,3,2けたの数字で15になる組み合わせ
        と
 4,3けたの数字で31になる組み合わせ
        と
 4,3けたの数字で32になる組み合わせ
が知りたいのですが、教えていただけないでしょうか?
 お願いします。

A 回答 (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は無理ですよね。
    • good
    • 0
この回答へのお礼

 助かりました。
 ありがとうございます)^o^(

お礼日時:2013/07/28 16:07

 三けたは無理


 9+9+9=27が最高だからね。

 6+8+8+9=31

 6+8+9+9=32

 は?

 

 
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

お礼日時:2013/07/28 16:05

「同じ数字は使えない」等のしばりはどうします?



以下、組み合わせのみ、順序入れ替えは省略
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になる数字の組み合わせは無理。
題意の読み取りがまちがってるかも。
    • good
    • 3
この回答へのお礼

bin-chanさん、質問の回答ありがとうございます。
 bin-chanさんが質問していた同じ数字は使えない
等のしばりはどうします?とありましたが、しばりは
なしで考えてくれればと思っています。
あと、4ケタで31、32になる数字の組み合わせがあれば
教えていただけないでしょうか?
お願いします(-_-)

お礼日時:2013/07/27 14:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!