アプリ版:「スタンプのみでお礼する」機能のリリースについて

123456789の数字を一回だけ使って
○○○○○-●●●●=33333という答えになるようにするには
どのように数字を入れたらいいかという問題です。
ずいぶん考えたのですが、どうしてもわからないのです。
計算機を使っていろいろやったら答えは出るかもしれないけど
その理論を含めて教えていただけたら…と思って書き込みをしてみました。
どうか教えて下さい。よろしくお願いいたします。

A 回答 (7件)

12876-9543で いいの?



頭が5桁で 次が4桁で 桁下がりで 3になるから
12-9かなと 思って考えたダケですけども

他にも答えがあるのかな?
    • good
    • 0

失礼しました。

 間違えていました。
答えは 5桁の 33333ですね。
    • good
    • 0
この回答へのお礼

あ、そうなんです。5桁なんですよ。
でも、もしかしたら私、4桁でもわからないかもしれない…。(T_T)

お礼日時:2001/05/09 23:04

つまり、差が3ならいいわけです。


3になるのは、
※4-1,5-2,6-3,7-4,8-5,9-6
ですから、
1→○=8 ●=5
10→○=7 ●=4
100→○=5 ●=2
1000→○=4 ●=1
10000→○=3

考え方
上の※の所よく見てください。
10000の位は、3じゃないと数そのまんまだから。
※の中から、一回も使われて無い数を順番に入れます。
33333!!
ちなみに、他には※から選べば3になりますから、
結構他にもありますよ!試そう!

参考までに:私は中一です。電卓は使わず解きました。
    • good
    • 0

41268-7935でどうでしょ。


最初、答えが3333と勘違いしてえらい簡単だなっておもって、問題をみなおしてしまいました。

ABCDEF-GHIJで考えると、Aは3か4ですね。
Aを3としてやっていくとどうもつじつまが合わないので、
4としてやっていきました。
おそらく、考え方はいっしょではないかと思いますが,
3となるための組み合わせは
(9,6)(8,5)・・・(4,1)
(1,8)(2,9)ーーー(1)
それに,下の桁から引かれた場合を考えると
(2,8)(3,9)(1,7)ーーー(2)
です。
Aが4なら、その次は(1)か(2)のパターンなので、
あてはめていきました。
私の場合、(1,7)を忘れていてなかなかマッチしませんでした。
プログラムを組もうかと思ってました。

(数字がかさなってないですよね。これが心配ですが)
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
私もAが3か4だろうというところと組み合わせまでは考えついたのですが
その後がどうしても続かなくて…苦しんでおりました。
いくらこういう頭を使うことがないといっても…。。
「あ、ホントだ。33333になる!」と答えがわかったのですが
以下の部分をもう一度、数学(算数?)が苦手な私に
再度ご説明いただけませんでしょうか。m(_ _)m

(1,8)(2,9)ーーー(1)
それに,下の桁から引かれた場合を考えると
(2,8)(3,9)(1,7)ーーー(2)
です。
Aが4なら、その次は(1)か(2)のパターンなので、
あてはめていきました。

不出来な生徒ですが、どうぞお願いいたします。
時間のあるときで構いませんので…。。

お礼日時:2001/05/09 23:00

ただいまプログラムで確認したところ、


41268
-7935
-----
33333

と出ました。
    • good
    • 0
この回答へのお礼

わわわわっ!
“プログラムで…”ってどういうものなのですか?
参考のためにでもお聞かせ願えませんでしょうか。

お礼日時:2001/05/09 23:02

回答は 41268-7935=33333  41286-7953=33333 です。



理論はないですが、単に各位の数字が3になるように当てはめるだけです。

3にする数式は

4-1
5-2
6-3
7-4
8-5
9-6
10-7(借上げ計算)
11-8(借上げ計算)
12-9(借上げ計算)

この設問は、借上げ計算もふまえないと駄目ですね!!
    • good
    • 0
この回答へのお礼

わかりました。
意味も理解できました。
その借上げ算が入ったためにわからなかったところもあり、
混乱してしまったのもありという感じでした。

久しく使用していなかった脳の部分を使ったように思えます。
どうもありがとうございました。

お礼日時:2001/05/10 15:11

おきらくごくらく簡単プログラミング(C言語)



int main(void)
{
for(int a=1;a<10;a++){
for(int b=1;b<10;b++){
for(int c=1;c<10;c++){
for(int d=1;d<10;d++){
for(int e=1;e<10;e++){
for(int f=1;f<10;f++){
for(int g=1;g<10;g++){
for(int h=1;h<10;h++){
for(int i=1;i<10;i++){
if((a != b)&&(a != c)&&(a != d)&&(a != e)&&(a != f)&&(a != g)&&(a != h)&&(a != i)&&
(b != c)&&(b != d)&&(b != e)&&(b != f)&&(b != g)&&(b != h)&&(b != i)&&
(c != d)&&(c != e)&&(c != f)&&(c != g)&&(c != h)&&(c != i)&&
(d != e)&&(d != f)&&(d != g)&&(d != h)&&(d != i)&&
(e != f)&&(e != g)&&(e != h)&&(e != i)&&
(f != g)&&(f != h)&&(f != i)&&
(g != h)&&(g != i)&&
(h != i)){
if(((a*10000+b*1000+c*100+d*10+e)-(f*1000+g*100+h*10+i))==33333){
printf("%d%d%d%d%d-%d%d%d%d",a,b,c,d,e,f,g,h,i);
return 0;
}}}}}}}}}}}
return 0;
}

急いでやったんで、こんなかんじです。
実際はもっと高速にできるんですけど...。
こんなプログラムで参考になるのかなぁ?
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
(=_=)私の知らない世界があったのですね。

お礼日時:2001/05/10 15:16

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