A÷B=C 余り Dという計算をするときに、A=BならC=1 D=0になるはずですよね?

0÷0=1 余り 0という計算は間違っていますか?
0×1+0=0で検算してもあっています。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/05/04 14:42:01
  • 終了:2011/05/11 14:45:03

回答(18件)

id:taknt No.1

きゃづみぃ回答回数13481ベストアンサー獲得回数11982011/05/04 14:55:50

ポイント14pt

http://naop.jp/topics/topics28.html

0で割った値は ない のでそもそも 0で割った答えが 1というのは ありえません。

id:moonwolf

0と0を比較することが出来るので商は1以外の数値になりません。

余りは0より大きい数値や0より小さい数値にはなりません。よって0です。

2011/05/06 06:18:11
id:mezase50 No.2

mezase50回答回数143ベストアンサー獲得回数172011/05/04 14:56:38

ポイント14pt

ゼロで割るという計算自体が許されていないので間違いです。


>0÷0=1 余り 0という計算は間違っていますか?

>0×1+0=0で検算してもあっています。


それでは


0÷0=2 余り 0

0÷0=3 余り 0

0÷0=4 余り 0

0÷0=5 余り 0

0÷0=6 余り 0


なども検算して合っているのでこれらも正解になってしまいます。


http://ja.wikipedia.org/wiki/%E3%82%BC%E3%83%AD%E9%99%A4%E7%AE%9...

id:moonwolf

割り算できないということなので足し算と引き算のみで割り算を処理してみました。

以下Rubyコードです。

#!/usr/bin/ruby -Ks

def 割り算(a, b)

c = 0

d = nil

x = a

loop do

if x < b

d = x

break;

end

x = x - b

c = c + 1

if x == 0

d = 0

break

end

end

puts "%d 割る %d = 商 %d 余り %d" % [a,b,c,d]

end

割り算( 5, 3 ) # => 5 割る 3 = 商 1 余り 2

割り算( 0, 0 ) # => 0 割る 0 = 商 1 余り 0

2011/05/04 15:26:27
id:Shelled No.3

Shelled回答回数7ベストアンサー獲得回数02011/05/04 14:57:43

ポイント13pt

http://oshiete.goo.ne.jp/qa/5052323.html

間違っています。

0で割る場合、答えはいくつでも成立してしまいます。

0×1+0 = 0

0×2+0 = 0

0×3+0 = 0

0×4+0 = 0

0×∞(無限) = 0

なので、「(ある数字)÷0」は0とも1とも無限とも取れてしまいます。

また、0で割れると、等式の両側を同じ数で割った場合同じになるはずなので、

1×0 = 2×0

両辺を0で割り、

1 = 2

となって矛盾が生じます。

なので、現在は「0で割り算を行うことはできない」、「0で割る計算は存在しない」とされています。

コンピューターや電卓で計算を行ってもエラーになって処理されません。

id:moonwolf

A >= BならCは1以上の数値になります。0にはなりません。

A - B = 0 ならCは1以外の数値をとりえなくないですか?

A = B なら余りも0以外の数値をとりません。

2011/05/04 16:48:28
id:SALINGER No.4

SALINGER回答回数3430ベストアンサー獲得回数9692011/05/04 15:00:15

ポイント13pt

ゼロ除算は意味が無いというのが他の回答にもあるとおりです。

ちょっとwikipediaを見ただけですが、0÷0=1にならない証明。


0/0=1

の両辺に2をかけます

(0/0)×2=1×2

分数は次のように変形できます。

(0×2)/0=2

0/0=2

これは0/0=1に反します。

id:moonwolf

(0/0)*2=1*2を式変形するときに計算する順序を破壊していませんか?

((0/0)*2)/2=(1*2)/2

((1)*2)/2=(2)/2

(1*2)/2=2/2

(2)/2=1

2/2=1

1=1

2011/05/05 00:29:44
id:windofjuly No.5

うぃんど回答回数2625ベストアンサー獲得回数11492011/05/04 15:03:00

ポイント13pt

>0×1+0=0で検算してもあっています。

0×2+0=0、0×3+0=0、……どれも正解となってしまうという矛盾が生じてしまいます

 

>A=BならC=1 D=0になるはずですよね?

矛盾解消のためには「AとBがいずれもゼロ以外であること」という条件をつける必要があります

  

ゼロ除算については下記参照

http://ja.wikipedia.org/wiki/%E3%82%BC%E3%83%AD%E9%99%A4%E7%AE%9...

id:suppadv No.6

suppadv回答回数3552ベストアンサー獲得回数2682011/05/04 15:04:29

ポイント13pt

単に、0で割ってはいけないことになっているというだけでは、釈然と市内店も残ると思いますので、『なぜか』、というところに焦点を当てた以下のpdfを紹介いたします。


なぜ、0で割ってはいけないか

中村文則

http://izumi-math.jp/F_Nakamura/div_0/div_0.pdf

id:ayami1123 No.7

ayami1123回答回数8ベストアンサー獲得回数02011/05/04 15:10:12

ポイント13pt

間違っています。

そもそも0を0で割ること自体が間違っていると思います。

id:mezase50 No.8

mezase50回答回数143ベストアンサー獲得回数172011/05/04 15:38:49

ポイント13pt

>割り算できないということなので足し算と引き算のみで割り算を処理してみました。


そのRubyコードは間違っています。

なぜならb=0になる場合の例外処理を忘れているからです。



http://www2.biglobe.ne.jp/~oni_page/other/etc/pr03.html

プログラムは思った通りに動かない。書いた通りに動く。

id:moonwolf

b=0のときの例外処理を入れました。


#!/usr/bin/ruby -Ks

def 割り算(a, b)

c = 0

d = nil

x = a

loop do

if x < b

d = x

break;

end

x = x - b

c = c + 1

if x == 0

d = 0

break

end

if b == 0

puts "%d 割る %d = 計算不能" % [a,b]

return

end

end

puts "%d 割る %d = 商 %d 余り %d" % [a,b,c,d]

end

割り算( 5, 3 ) # => 5 割る 3 = 商 1 余り 2

割り算( 0, 0 ) # => 0 割る 0 = 商 1 余り 0

割り算( 1, 0 ) # => 1 割る 0 = 計算不能

2011/05/04 15:43:34
id:adlib No.9

adlib回答回数1833ベストアンサー獲得回数1052011/05/04 17:37:30

ポイント13pt

 

 ゼロを乗除しない ~ 加減乗除(+-×÷)のルール ~

 

── ゼロは、数学の概念として存在するだけで、実在しな

い。しかし、ゼロの概念を認めなければ、数学が成立しない。

http://d.hatena.ne.jp/adlib/19391127

 存在すれど実在せず ~ esse vs exsistere ~

 

── ナベアツ氏は、100まで数える中に、何回アホになるでしょうか?

http://q.hatena.ne.jp/1276059504#c182989

 3の倍数≠3の群(ぐん、group)……?

 

── (上掲コメントのつづき)1を3で割れば、商は0で残りは1で

あるから、番号1の者は当然Bの組仁はいるわけなのであるが、これは

すでに学校教育をおえてしまった他の先生方から見れば、すこぶる形式

的な不自然な考え方のように思われるらしい。(P22)

http://booklog.jp/users/awalibrary/archives/4004000130

── 吉田 洋一《零の発見 ~ 数学の生い立ち 19391127 岩波新書》

 

id:quintia No.10

quintia回答回数557ベストアンサー獲得回数672011/05/04 23:29:19

ポイント13pt

私たちは「割り算」を段階的に習ってきました。

正の正数同士の割り算に始まり、商と剰余を出す割り算、小数の割り算、分数の割り算、負数や無理数を含む割り算……と進みます。


商と剰余を出す割り算以外は、乗算の逆演算もしくは乗算における逆元の乗算として定義されます。

その定義からすると、0÷0は明確に「不定」と言えます(その理由はすでに回答にあるURLで解るでしょう)。


しかし、商と剰余を出す割り算は単純に乗算の逆演算としては定義ができません。

ただ一般的に、商と剰余は以下の性質を満たすべき、と考えられます。

A÷B=C 余り D ⇔ B×C+D=A

そして、あなたもその性質から0÷0=1 余り 0でいいんじゃないか? なにが間違っているのか? と考えているのだと思います。


問題なのは、上記の性質を定義として採用するだけでは足りない、ということです。


5÷2=2.1 余り 0.8

5÷2=2.2 余り 0.6

これらは正しいのでしょうか?


あるいは、

4.2÷2=2.1 余り 0

4.2÷2=2 余り 0.2

あなたが知りたかった答えはどっちですか?


あるいは、

-5÷2=-2 余り -1

-5÷2=-3 余り 1

さて、どちらが正しいのでしょう???


あるいは、

5÷2=-2 余り 9

これも答えになりますか?


つまり私が言いたいのは、これは正しい/正しくない、という議論の外だということです。

A÷B=C 余り D という演算を考える。このとき与えられた A と B に対して、解 C と D は B×C+D=A を満たす数とする。

こういう形式で商と剰余を求める演算を考えた時、この演算で扱うそれぞれの数の種類として、この演算が「有用」になるのはいったいどの範囲なのか?(自然数? 0以上の整数? 整数? 有理数? 実数? 複素数?)というのが焦点だと思います。


  • AとBが正の整数の場合は、CやDが非整数だったり負数だと答えは幾通りもでてきてしまう。 → 結果に意味がない
  • AかBのどちらかが正の整数でどちらかが小数だと、Cを整数にする? それとも余りを0にする? → 何のために計算してるんだっけ?
  • AとBのどちらかが負数だとどうもしっくりこない。 → どっちが使いやすいんだろう?

これらと同じレベルで、

  • AとBの両方が0だと…… → その結果に意味はあるの?

というのが私の感覚です。


0÷0=1 余り 0は正しい! 0×1+0=0 だから! という主張は、5÷2=-2 余り 9 は正しい! 2×-2+9=5 だから! と主張することと同じではないですか?

それはまぁ、商と剰余の関係を満たすかもしれませんが、その結果(1 余り 0 とか -2 余り 9 とか)に何の意味があるんですか?

id:moonwolf

5/2を計算するなら5>=2なのだから商が1より小さい値になってはいけないんではないですか?

余り9>2ですから間違っています。

2011/05/04 23:52:19
id:quintia No.11

quintia回答回数557ベストアンサー獲得回数672011/05/05 03:06:02

ポイント13pt

私は 5÷2=-2 余り 9 という式が正しいとは主張していません。


「5÷2で5>=2なのだから商が1より小さい値になってはいけない」とあなたは主張します。

剰余計算にはそのような満たすべき条件が存在していて、「その条件を満たしていない」から「間違い」だと言っています。

5÷2=-2 余り 9 という式を見て、おかしい! と思ったはずです。この式は剰余計算が満たしているべき解の条件を満たしていない、と感じたはずです。

その感覚がどこからくるのか、一体どういう条件を満たしていれば意味がある解といえるのか、ということを注意深く考えて欲しかったのです。


0÷0=1 余り 0という式は、剰余計算として、私から見ると「そのような商と剰余の組み合わせを解として提示することに意味がない」と映るのです。

5÷2=-2 余り 9 という式を見て「おかしい!」と感覚する程度に、0÷0=1 余り 0 という式は「おかしい!」と映るのです(その理由は既出の答えの繰り返しになるので書きませんでした)。

だから「0÷0=1 余り 0は正しい! 0×1+0=0 だから! という主張は、5÷2=-2 余り 9 は正しい! 2×-2+9=5 だから! と主張することと同じではないですか?」と書いたのです。


剰余計算の解が見満たすべき条件について、あなたがしっかりと捉え切れていないことを説明してみようと思います。

あなたは「足し算と引き算のみで割り算を処理してみました」と自説を展開しています。

また、

5/2を計算するなら5>=2なのだから商が1より小さい値になってはいけないんではないですか?

余り9>2ですから間違っています。

とも書きました。

あなたの主張に歩調を合わせて、同じく足し算と引き算のみで話をしてみましょう。

「余り9>2ですから間違っています」というのはちょっと具体的です。まずは一般化を試みてみましょう。

5÷2=1 余り 3

4÷2=1 余り 2

この式を見てどう思いますか?

上の式に対しては「余り3>2ですから間違っています」。よろしい。

余り3から2を引いて、商を1増やさなければなりません。

下の式に対しては?

「余り2>2ですから間違っています」ではおかしいですね。「余り2≧2ですから間違っています」とするべきでしょう。

A÷B=C 余り D での剰余 D が B 以上だったら変ですね。D ≧ B ならもっと割れるはずなので、C を大きくすることができます。

ということは、あなたは 5÷2=-2 余り 9 という式に対して「余り9≧2ですから間違っています」と書くべきでした。

D ≧ B であったらその式は間違い。

あるいは、D < B でなければならない、とも言えます(同じことです)。

なによりあなた自身が、Rubyコードの中に、

if x < b
  d = x
  break;
end

という条件を書いています。x は b より小さくなった時に剰余 d に代入されます。

xは計算途中の剰余だということですから。

okですか? okですね。


ではあなたが示した式、

0÷0=1 余り 0

を見てみましょう。

剰余D が 0、除数 B が 0。

これはおかしいです。さきほど「D ≧ B であったらその式は間違い」「D < B でなければならない」ということを確認しました。

さらに、あなた自身が0÷0=1 であると主張しています。

4÷2=1 余り 2 が間違いで、余り2はさらに2で割れることから、商を1増やして4÷2=2 余り 0 とするのと同じ手順が適用できます。いや、適用しなければなりません。

あなたはあなた自身の主張(すなわち 0÷0=1)を根拠として、0÷0=2 余り 0 の方がより正しいと認めなければなりません。

しかしこれもまだおかしいです。

なぜなら剰余D が 0、除数 B が 0となり、「D ≧ B であったらその式は間違い」となるからです。

ならば、0÷0=3 余り 0 の方がより正しいとなります。

……あとはこの繰り返しです。


これではっきりしました。

0÷0=1 余り 0 を正しいと主張するならば、その主張を根拠として 0÷0=1 余り 0 は間違いとなる。

なぜなら、剰余 0 を除数 0 で割ると商1が立つのだから。

よって 0÷0=2 余り 0 とすることができる。しかし、これは 0÷0=1 余り 0 を正しいとする主張に矛盾する。

となるのです。


あなたが2.で示したRubyコードの間違いも指摘しておきましょう。

if x == 0
  d = 0
  break
end

と入れたことです。

余りが0なら計算終わり、とするこの部分が「0÷0は1で停止するべきだ」というあなたの意図を反映したコードなのです。

上で計算の仕方を足し算引き算で考えたとき「余りが0か」なんてことは考えてませんでしたね? 剰余が除数よりも小さくなったかどうか? という条件だけを考えたはずです。

実際、この部分を抜いたとしても、0割以外の正数の割り算はちゃんと動作します。

#!/usr/bin/ruby -Ks
def 割り算(a, b)
  c = 0
  d = nil
  x = a
  loop do
    if x < b
      d = x
      break;
    end
  x = x - b
  c = c + 1
  end
  puts "%f 割る %f = 商 %d 余り %f" % [a,b,c,d] #除数 被除数は整数じゃなくてもokになったので%f指定
end
割り算( 5, 3 ) # => 5.000000 割る 3.000000 = 商 1 余り 2.000000
割り算( 6.4, 2.2 ) # => 6.400000 割る 2.200000 = 商 1 余り 2.000000

このコードでは上で示した、0÷0=1 余り 0 から導き出される矛盾がそのまま計算としてあらわれ、割り算(0, 0)は c が増える一方で停止しないメソッドになります。

0÷0が1という商を出して停止する、という恣意的な条件がない分、こちらの方が自然でしょう。

もっとも、被除数に負数を与えたり、除数に0を与えたりすると無限ループになる以上、プログラムとしては当然失格ですが。

id:moonwolf

すみません。数学はわかりません。


#!/usr/bin/ruby -Ks

def 割り算(a, b)

c = 0

d = nil

x = a

loop do

if (x < b)

d = x

break

end

c = c + 1

y = x - b

if (x - y).abs <= Float::EPSILON

d = y

break

end

x = y

end

puts "%f 割る %f = 商 %d 余り %f" % [a,b,c,d]

end

割り算( 5, 3 )

割り算( 6.4, 2.2 )

割り算( 0, 0 )

割り算( 0, 1 )

割り算( 1, 0 )

割り算( 1, 1 )

割り算( 2, 0 )

割り算( Float::EPSILON, Float::EPSILON )

割り算( Float::EPSILON, 1 )

割り算( 1, Float::EPSILON )

# 5.000000 割る 3.000000 = 商 1 余り 2.000000

# 6.400000 割る 2.200000 = 商 2 余り 2.000000

# 0.000000 割る 0.000000 = 商 1 余り 0.000000

# 0.000000 割る 1.000000 = 商 0 余り 0.000000

# 1.000000 割る 0.000000 = 商 1 余り 1.000000

# 1.000000 割る 1.000000 = 商 1 余り 0.000000

# 2.000000 割る 0.000000 = 商 1 余り 2.000000

# 0.000000 割る 0.000000 = 商 1 余り 0.000000

# 0.000000 割る 1.000000 = 商 0 余り 0.000000

# 1.000000 割る 0.000000 = 商 1 余り 1.000000

2011/05/05 06:22:56
id:jack_sonic No.12

じゃっくそにっく回答回数123ベストアンサー獲得回数252011/05/05 10:33:02

ポイント13pt

数学的にゼロで割ってはいけない、

という話が通じないようですので、

もっと単純な説明をいたしますが、

①0に対しては何を掛けても0になる

という認識は大丈夫でしょうか。

0 ÷ 0

というのは乗算になおせば

0 × (1/0)

であり、

0 ÷ 0

が、

1 余り 0

になることは絶対にありえません。

この前提を崩せば、「何もない」「何を掛けても0になる」ことが絶対的特徴である

「0」自体の意味が完全に破壊され、計算ができなくなります。

id:moonwolf

えっと、コメントをきちんと読んでください。

a/0は1と余りaになります。

余りとしてaの情報が保存されています。

1だけを見てはいけません。

2011/05/05 10:44:20
id:jack_sonic No.13

じゃっくそにっく回答回数123ベストアンサー獲得回数252011/05/05 10:56:22

ポイント13pt

>a/0は1と余りaになります。

それはそういう風になるようにプログラムを組んでいるからです。

自分でそうなるように仕組んだプログラムと、絶対的な数学を混同してはいけません。

id:moonwolf

絶対的な数学とか、そんなの興味ないのでいいです。

2011/05/05 10:58:27
id:quintia No.14

quintia回答回数557ベストアンサー獲得回数672011/05/05 12:38:00

ポイント13pt

コメントが開いてないのでここで質問しますね。

a÷0=1 余り a

なんですよね?

この余ったaはまだ0で割ることができて商1が立つ(とあなたは言っている)のに、なぜそのままにしておくんですか?

そこはそのままにしておくことを許せるというのが不思議なんですが、説明してもらえませんか?

id:moonwolf

なぜa/0が1余りaになるか。

割り算(A,B)の結果は実部に商である C、虚部に剰余 Dを持った複素数になります。

なぜ商が1になるか。

最初にA < 0を比較します。 #現時点では負の数に対応していません。

A>=0の場合はループを抜けないためCをインクリメントします。

この時点で商は1となります。

つぎにA-Bを計算します。B=0なので結果はAと同じ値となります。

Aと計算結果の差の絶対値を比較します。

(A - A)は0となり、イプシロン以下のため、現時点での商である1と

剰余であるAが確定したと判断し、ループを抜けます。

この時点でループを抜けなかった場合、A - 0を無限に繰り返し、停止しません。

結果 商=1 剰余=A となります。

2011/05/05 13:04:11
id:adlib No.15

adlib回答回数1833ベストアンサー獲得回数1052011/05/05 14:28:38

ポイント13pt

 

 嘘枕 ~ ルールを曲げれば、公理が引っこむ ~

 

── なぜ間違いなの? 1+2×3=9

http://q.hatena.ne.jp/1159005571

 中学生の質問に、ひとこと(約31字)づつ答えてください。

 

── 中学になると、こうした約束事がたくさん出てくるので、柔軟な

思考をたいせつにするとともに、約束事そのものと上手につきあうこと

が数学と仲よくするための第一歩になります。(坂田 注)

http://d.hatena.ne.jp/adlib/19850101 中学生諸君! Basic 5

 

── コンピューターは、すでにチェス名人を追放し、いよいよ将棋名

人の座を狙っている。みんなが羽生に意見をもとめた。

 通算勝率7割を超える唯一人の棋士は、顔色も変えず、こう答えた。

「ルールの一部を改定すれば、過去の定跡はすべて役に立たなくなる。

 たとえば“桂馬が横に動く”というような程度で十分でしょうね」

http://oshiete.goo.ne.jp/qa/4442842.html (No.2)

 強者の条件 ~ 容赦しない、投げない、負けない ~

 

 Google 電卓機能による四則演算

 

 0 + 0 = 0

 0 - 0 = 0

 0 * 0 = 0

 0 / 0 = 約 1,250,000,000 件 (0.18 秒)

── 0の0乗(0の0じょう)とは何か、ということはしばしば初学者の

議論となるところであるが、これはただ数学用語を組み合わせただけの

言葉であって、特別な意味は持たない。すなわち、標準的な教科書にお

いては0の0乗は定義されない。── (Wikipedia)

 

id:moonwolf

では。πを3で割ることが出来ますか?

小数点で表現することは許されません。処理系に依存しますし、計算することは出来ません。

aをbで割れますか? 変数a、bに任意の数を取ることは出来ません。

式を展開することは出来ますか? 出来ません。

a = bをa+1=b+1に書き換えられますか? 書きかれられません。

2の99999999999999999999999999999乗を処理することは出来ますか? できません。

無限って破綻せずに扱うことは出来ますか?

関数って評価できますか?

微分積分って本当に計算していいんですか? 近似することも許されません。

1 = 1.0は等しいですか? いいえ、比較することは出来ません。

1 = 1 ですか? 左右の1の表現が1進数なのかの情報が無いので比較できません。評価者依存です。

すべての情報について損失が無い形で扱えなければいけません。

2011/05/05 15:36:16
id:hatesaki No.16

hatesaki回答回数16ベストアンサー獲得回数32011/05/06 16:32:14

ポイント13pt

私も「0」で割ったり掛けたりして、しかも「0」に必ずしもなっては困るプログラムを書く必要があった時がありました。

当然、「0」で計算させるとエラーになりますので、プログラミングのプロに聞いて、次のようにしました。

eは、ご存じのように「イプシロン」です。

e = 0.00000001 とかいう、限りなく「0」に近い値を定義しておいて

変数が「0」になったら、この「e」にするという処置をしてました。

なぜ、「0」で割ったらいけないか、を考える時に、この最も小さい数字の桁を操作することで、もし計算機がどれだけの桁数を扱えるのかを考えることで納得した覚えがあります。

ちなみにプログラミングや数学の専門家ではありません。

id:ysaw No.17

ysaw回答回数13ベストアンサー獲得回数02011/05/08 03:13:45

ポイント10pt

> A=BならC=1 D=0になる

> 0÷0=1 余り 0という計算は間違っていますか?

それはプログラムにバグ(仕様に矛盾)があるとしか思えないですね。2パターン提示されていますのでややこしいのですが、

[A]05-04 15:43:34版~

割り算( 0, 0 ) # => 0 割る 0 = 商 1 余り 0

割り算( 1, 0 ) # => 1 割る 0 = 計算不能

割り算( 0, 1 ) # => 0 割る 1 = 商 0 余り 0

↑3通りの異なる動作をしていますが、

1) 0以外を "0で割る"時は 「計算不能」

2) "0を" 0以外で割る時は 「商 0 余り 0」

よって、"0を0で割る"時をさらに違う動作にするのではなく、

1) or 2) に統一しないとプログラム的にはダメ仕様ですよね?

[B]05-05 06:22:56版~

# 0.000000 割る 0.000000 = 商 1 余り 0.000000

# 0.000000 割る 1.000000 = 商 0 余り 0.000000

# 1.000000 割る 0.000000 = 商 1 余り 1.000000

↑「0割る0=商1余り0」としたいロジック(仕様)のために、「0以外を "0で割る"時」がつられて破綻してますよね?


いずれにしろ何が何でも『0÷0=1余り0』で処理したい(そういう仕様にしたい)のなら、別ですが。

0÷0=計算不能 とするのが無難な仕様でしょう。

※個人的には『0÷0=0余り0』にする仕様ならまだ許容できますが...

id:david3rd No.18

出人回答回数4ベストアンサー獲得回数02011/05/09 02:06:58

ポイント10pt

A÷B=C 余り Dという計算をするときに、A=2BならC=2 D=0になるはずですね.

2×0÷0=2 余り 0という計算が成り立つと言ってもいいように思えます.

0×2+0=0で検算してもあっていることだし。


A÷B=C 余り Dという計算をするときに、A=3BならC=3 D=0になるんですね.

3×0÷0=3 余り 0という計算が成り立つと言えちゃうように思えます.

0×3+0=0で検算してもあってるし。


そもそも 0 にいくつをかけても 0 だから

割られる数(被除数)が 0 の時だけは 0 で割ることが成立すると認定してもいいのでは

という主張ができそうでもあり、


その場合、質問者が示したように、商を「1」としたらおさまりがいいようですが、

果たして、「2」ではいけないか? 「3」では不都合か? ということににもなる……。

そもそも、0 にいくつをかけても 0 なのだから。


だから、間違いか? ではなくてて、なんだろ まさに 想定外。


被除数が 0 であろうと 0 で割ることは 想定外なんです。 

  • id:quintia
    コメント開いてない、とか間違って回答に書いてしまいました。スミマセン。
  • id:SALINGER
    >計算する順序を破壊していませんか?
    ヒント:交換法則
  • id:mezase50
    >b=0のときの例外処理を入れました。

    これは全ての処理の前に行わなければ(数学的な)意味が無いです。
    「ゼロで割ること」を独自の定義で処理することについては

    >ゼロ除算を解決したのに、反応がいっこうに悪い件

    『プログラムは思った通りに動かない。書いた通りに動く。』
    改めてこう言うしかないです。
  • id:adlib
     
    >πを3で割ることが出来ますか?<
     Google 電卓機能によれば、
     π / 3 = 1.04719755
     
    >小数点で表現することは許されません<
     π/3
     整いました。(以下、反問の趣旨が理解できません)
     
  • id:moonwolf
    π / 3 = 1.04719755 これは間違っています。
    1.04719755 * 3 = 3.14159265 ですが、3.14159265 = πではないからです。
  • id:mezase50
    Πを3で割ると - | | です。
  • id:nobnob3
    少し前に、0で割っていけない理由を解説したyoutubeビデオがあったのを思い出した。
  • id:moonwolf
    0/0を割り算できるか? できる。
    商は 0 になるか? ならない。 なぜなら 0<0 ではないから。
    商は 1 で正しいか? 0=0 であれば 1 でただしい。
    商は 2 以上の数値になりうるか? ならない。 0 > 0 ではないから。
    余りは発生するか? 0 - 0 = 0 であるから余りは0以外の数値にはならない。
    論理的におかしければ指摘どうぞ。
  • id:practicalscheme
    なんだかよくわからない方向に向かっている感じなので、別の観点からコメントしてみます。

    数学で、「○○は間違っていますか?」という問いは、実は省略形なんです。

    数学は、最初にある規則を採用し、その中で命題、例えば「0÷0=1 余り 0」が真(成り立つ)であるか偽(成り立たない)であるかを考えます。判断不可能、という場合もあります。規則というのは、「0とは何か」「1とは何か」「剰余とは何か」といったことがらです。

    したがって、「○○は間違っていますか?」という問いは、省略せずに言うと「××という規則のもとで、○○という命題は偽になりますか?」という問いなのです。その答えは、「××という規則」が何かによって変わってきます。

    そして、唯一絶対の規則というのは無いんです。極端な話、自分で好きなように規則を決めても構いません。ですから、「a/0 = 1 余り a」となるように規則を決めれば、その規則のもとで「0/0 = 1 余り 0」は間違っていません。

    例えば、1+2+3+4+… と自然数を無限に足してゆくと、素朴な規則ではこれは無限大になってしまいます (発散します)。ところが、別の規則を使うと 1+2+3+4+… がちゃんと計算できて -1/12 という値になります。一見無茶苦茶に見えますが、実はこの規則はとても応用が利くもので、実際、物理現象の実験結果をよく説明できることがわかっています。

    ただし、好きなように規則を決められるといっても、勝手に規則を追加していると、規則同士の間でどうしようもない矛盾が出てきて、ある命題がこっちの規則を使うと真なのにこっちの規則を使うと偽になる、というようなことになったり、その矛盾を解決するためにさらにたくさんの例外規則が必要になったりします。そういう規則は応用が利かなかったり、これまでに知られている色々な数の性質が利用できなかったりするので、あまり「嬉しくありません」。そういう規則を自分で作って色々考えることは間違いではないですが、他の人は「ふーん」というだけで興味を持たないでしょう。

    これまでの歴史の中で、いろいろな数の性質をすっきり説明できて、また現実にある数値の扱いとも矛盾が出ないような、そういう規則の集まりというのが作られています。問いに前提となる規則が書いていなければ、そういうコンセンサスのある規則を前提としているんだな、と考えるのが普通です。そして、その普通の規則では、割る数が0の場合は剰余は定義されません。どう定義しても、既にたくさんの回答が寄せられているように、規則のどこかで無理が生じるからです。

    けれどもmoolwolfさんが、ある目的で計算をするにあたって「a/0 = 1 余り a」が都合が良い、と思うなら、そういう規則を追加して構いません。他のところで矛盾が出るかもしれませんが、その矛盾が考えている問題に影響を及ぼさないのであれば、便利さを優先して構いません (実際、コンピュータで計算する場合、「解無し」にするよりは、別の規則でもって何らかの値を決めておく、という方が便利な場合が多々あります)。

    ただし、その規則は一般的な規則ではないので、人に伝える時は「こういう規則を入れています」とはっきり言わないとなりません。

    「『a/b の計算は、b≠0 の場合は通常定義される剰余で、b=0の場合は a/0 = 1 余り a とする』という規則のもとで、『0/0=1 余り 0』は間違っていますか?」 という質問であれば、答えは「間違っていません」となります。

    一方、もしmoonwolfさんが、自分の目的で使うのに便利というだけでなく、一般的な剰余においても「a/0 = 1 余り a」という規則を採用すべきだ、と主張されるのであれば、そう決めることで他の規則と矛盾が生じないか、困ったことにはならないか、ということを、moonwolfさん自身が示す必要があります。だってこれまでの人はゼロ除算を決めたら困ったことになるから決めなかったんですから。それをひっくり返すために、いや困ったことにならないんだよ、こう考えればいいじゃん、っていうことをmoolwolfさんが示してくれないと。いろんな人が「こうしたら困るでしょ」と言ってくるのに対し、「それはこうすれば解決するでしょ」とひとつひとつ誠実に答える役割がmoonwolfさんには課せられます。

    まとめると、「0÷0=1 余り 0という計算は間違っていますか?」という問いは、

    * それが一般的な剰余の定義を前提とするなら、間違っています (その命題は偽です)
    * そうなるように剰余の定義を拡張できる、という提案ならば、そのメリットを詳しく示し、また多くの人が投げかける疑問にひたすら答えましょう。
  • id:quintia
    「除算の手順としてこういうふうにしてやってみると 0÷0=1 余り 0 という結果が出てきます。これを結果として認めてしまえばいいんじゃないですか?」っていう内容だったのか、と。
    質問がそういう文章だったら、全然反応は違っていたでしょうね。
  • id:YAMADAMAY
    やまだまや(真優) 2011/05/06 11:53:16
    「0割り」を禁止しているのは、数学もっと厳密に言えば「数論」上の約束です。
    ある手法での逆計算が成り立ったと言って「計算が成り立つことが証明された」とは言えないのです。(三角関数の逆関数の値を見ても明白です)

    ◎0割り(剰)を行うと商(=割り算の答)は無限にあるし、まして剰余(余り)は意味を成しません。
    実数は加減乗除の算法に閉じていると規定されていますが、除数に0を入れないのは、上記がその理由です。

    数学はその手の約束は沢山ありますよ。古い数学感を突拍子もない考えをいれ、体系付けて古い制約を外してきたのが、「新しい数学」の領域を拡大する事になるわけですが。

    もし、貴方が「新しい数学」を開拓する意思でこの質問を出したならば、もう少し「意図」をはっきり示した方がいいとおもいます。
  • id:moonwolf
    ではなぜ0乗算は許可されているのでしょうか。

    1=2になりませんか?

    1 * 0 = 2 * 0
    0 = 0

    よって1=2である。
  • id:practicalscheme
    > ではなぜ0乗算は許可されているのでしょうか。
    > 1=2になりませんか?

    0乗算だけではならないです。乗算の規則だけで

    1*0 = 2*0

    から

    1=2

    を導くことはできません。

    おそらく

    ax = bx ならば a = b (但し x≠0)

    という規則が頭にあったのでしょうが、但し書きにあるとおり、ゼロが入る場合は巧妙に除外してあります。

    一般的な数学は、こういう規則がわりと綺麗に組み合わさっています。もちろんそれが唯一の完成形じゃなくて、数学者はそれをうまく拡張しようとか、今ある穴を綺麗に塞げないかとか、色々考えているわけですが。

    ただ、巧妙な積み木細工と一緒で、一つのブロックだけを置き換えてなんとかしようとしても、あちこちに歪みがでちゃうことが多いですね。

    目的を限定すれば、他の箇所に無理が出たとしても、ここをこう決めるとすっきりする、という話ができる可能性はあります。ですので、一般的な話に広げるのではなく、自分がどういう問題を考えていて、その問題においては a/0 をこう決めると便利なのだ、という具体的な話をしてもらえると、発展があるんじゃないでしょうか。


  • id:ryota11
    一応無量大数っていうのも数字なんじゃないですかね。
    それを無視して1とか言うからおかしなことになってるんじゃないですか?
    答えは無量大数であって、1ではないってことなんだと思うんですが。

    バカより。
  • id:moonwolf
    では浮動小数点の変数について処理した場合、C,Dの値について規定はありますか?
    演算精度に依存してCとDは意味を成さなくなります。
    整数においてもBignumが扱える処理系とint系しか持たない系列ではあつかえないA,Bが存在しませんか?
    Bが0でなければ良いというのであればBに無限小を入力したら停止判定できますか?

    Cは1以外にはなりません。
    0は0より小さくないので1以上の値をとります。
    A=Bなら1という値で矛盾はありません。
    0は0よりも大きくないので2以上を取れば一意ではない、ということになりませんか?
  • id:moonwolf
    > 1*0 = 2*0
    > から
    > 1=2
    > を導くことはできません。

    式変形の段階に限定していません。
    実行時に0で掛ければ0になります。
    実行するまで0による乗算が行われるか判定をすることはできません。
    判定できるというならば、たぶん計算機 停止問題も解決できるような超人なんですね。
  • id:moonwolf
    Cが1だと決定したらDがとるべき値も決まります。
    AからBを1回引き算した結果=Aとなります。
    Dを規定する段階で意図的にBに0を取れないように指定しています。巧妙ですね。
  • id:mezase50
    >A=Bなら1という値で矛盾はありません。
    >実行時に0で掛ければ0になります。
    >実行するまで0による乗算が行われるか判定をすることはできません。
    >AからBを1回引き算した結果=Aとなります。


    書いたコードがそうなるコードならそうなります。
    コードは間違っていますか?と問われたらあなたが思うように動いているコードなのなら間違っていないと言えるかもしれませんが、あなたのゼロの割り算に対する定義の理解についてはどうですか?と問われたらそれは普遍的に賛同できるものではないということです。あなたの考えているとおりにコードは書かれているかもしれないがあなたの考えが合っているかどうかは別問題です。

    あなたの主張は例えると、あるICを使った電子回路の実際の動作とその回路のモデルを使ったシミュレーションの結果とが異なることから電子回路に使っている実物のICが不良品だと言っているようなものです。


    >では浮動小数点の変数について処理した場合、C,Dの値について規定はありますか?
    >演算精度に依存してCとDは意味を成さなくなります。


    それは有効数字とか誤差といった概念を導入する別の話になります。
    ほぼ等しい大きな数字同士の差を計算すると有効数字の桁数が落ちる(精度が落ちる)といった現象は数値演算の世界では当然コードを書くにあたって留意すべき基本です。


  • id:practicalscheme
    誤解しないで欲しいのですが、moonwolfさんが「(無前提に)間違っている」、と言っているのではないのです。
    moonwolfさんは、「(moonwolfさんの定義した規則の中で)正しい」です。
    ただ、それは「一般的に合意されている規則」とは相容れないですよ、と私は言っています。
    どちらが正解か、と決定できるものではありません。どちらを使うべきかは目的によります。ですから、
    「この目的で使うなら、a/0をこう定義すると都合が良いのだ」ということを具体的に示せば、皆なるほどと思うでしょう。

    >> 1*0 = 2*0
    >> から
    >> 1=2
    >> を導くことはできません。
    >
    >式変形の段階に限定していません。

    式変形の話ではなく、論理のギャップを指摘しています。論理の各ステップは、最初に決めた規則のどれかを使って進めなければなりません。論理的な話はどうでも良いというのならこれ以上言うことはありませんが。

    実際に具体的な値で計算する際に0が掛けられるかどうかを事前に知ることはできません。しかし、

    (1) 計算の途中で二つの変数に同じ数xを掛けた
    (2) 結果を後から見ると、両方とも0であった

    このとき、普通の規則 「ax = bx ならば a = b (但し x ≠ 0)」を使うなら、論理的に言えることは、
    「最初の二つの値は等しかった」または「xが0であった」
    ということです。どちらだったかはここまでの事実からだけではわかりません。

    > Cが1だと決定したらDがとるべき値も決まります。
    > AからBを1回引き算した結果=Aとなります。
    > Dを規定する段階で意図的にBに0を取れないように指定しています。巧妙ですね。

    はい、それがmoonwolfさんの決めた規則です。前に言ったように、どんな規則を決めようが、それは自由です。
    で、そういう規則を導入して、0/0 = 1余り0 という計算ができたとして、それでどんなメリットがありましたか。
    みんなが知りたいのはそこなんです。

  • id:moonwolf
    ではCが1以外を取る可能性を考えます。

    C < 1 であるべきなら。
    0は0よりも小さいですか?

    C > 1 であるべきなら。
    0は0よりも大きいですか?

    C は 無限大であるべきなら。
    0は無限よりも大きいんですね。
    0は無限よりも小さいというのが通説ですが、新説ですね。

    とにかく C != 1
    0は0とは違う0なのですか?
    0a, 0bとして定義をお願いします。
  • id:adlib
     
     数学劣等生の反省
     
    ── むかし、高校時代に「角の三等分ができる」と提議して、新任の
    寺田先生の昼食休憩を奪ったことがあります。結論は、たんに近似値に
    迫っただけで、それを再検証するのは、時間の無駄だったのですが……。
     
     1+2*3=
     グーグル電卓では、下記のように、自動的に( )を挿入する。
     1 + (2 * 3) = 7
     
  • id:practicalscheme
    moonwolfさん、

    「××は○○であるべきかどうか」無前提では、この問いに正解はありません。したがって議論はできません。

    「××は○○であると決める。するとこの問題はこう解ける。」これなら、議論の出発点になります。

    moonwolfさんがそういう観点を提示したとして、そうすると他の人が、「でも××は○○であると決めると、別のこういう問題を解く時困るんじゃない? あるいは別のこういう規則と矛盾しない?」と突っ込みを入れるかもしれません。

    それに対してmoonwolfさんは「いや、今考えている問題はこの範囲だから、そこで矛盾しても大丈夫なんだよ(その規則は外してもいいんだよ)」などと反論できるかもしれません。

    moonwolfさんが数学や論理の話をしたいのであれば、大前提は、「moonwolfさんが、反論する人を説得する必要がある」のです。「他の人が、moonwolfさんを納得させる必要はない」んです。なぜなら、「どういう規則を持ってくるか」はmoonwolfさんの自由であり、そこに間違いも正解も無いのですから。他の人は、moonwolfさんの導入した規則が有用であると思えば使うでしょうし、そうでなければ「どうぞご自由に。私はその規則は使いませんけど」というだけです。


    > 0は無限よりも大きいんですね。0は無限よりも小さいというのが通説ですが、新説ですね。

    大小の定義によります。無限という数があるわけではないので厳密に話そうとするとややこしいですが、実数の話をしている時なら正の無限大は0より大きいですね。正確にはどう言えばいいのかな。ある実数Mがあって、N<Mとなるような実数Nを任意に選べるならば、0<Mである、とでも言うんでしょうか。言い回しの上から自明であるような気もしますが。

    けれども、そうでない無限がありえるような数を定義することもできます。コンピュータの世界に限っても、正の無限大と負の無限大を区別しないような規則を使うこともあり得ます (その場合、0と無限大の大小関係は「解なし」になります)。私は数学は全然専門じゃないんでさっぱりですが、定義によっていろいろとんでもない世界が広がっているようです。

    繰り返しますが、moonwolfさんがある規則を提案するのは自由であり、そこに正しさも間違いもありません。その規則があって嬉しいかどうかは目的によります。この規則があったらすごく嬉しいでしょう、とmoonwolfさんが主張したいのなら、どうぞ具体例をあげて「こういう問題がこんなにすっきり解ける」ということを示してください。

    それが示せなくても、moonwolfさんは間違いを言っていることにはなりませんが。他の人は「moonwolfさんの正しさ」に興味を持たないだろうな、というだけです。




  • id:pppppppppppppppppppp
    あなたは0÷0ができますか?0のなかに0は何個あります?
    0の中には1個0があります。そして余った0の中には1個0がある•••これは無限に続くので、答えは∞です。
  • id:lionfan
    id:practicalscheme様の

    「1+2+3+4+… と自然数を無限に足してゆくと、素朴な規則ではこれは無限大になってしまいます (発散します)。
     ところが、別の規則を使うと 1+2+3+4+… がちゃんと計算できて -1/12 という値になります」

    というのに心底びっくりしたので、ググってみたのですが、本当みたいですね。驚きました。
    http://www.weblio.jp/wkpja/content/1%2B2%2B3%2B4%2B%E2%80%A6_1%2B2%2B3%2B4%2B%E2%80%A6%E3%81%AE%E6%A6%82%E8%A6%81

    整数に整数を足しても整数にならず、正の値に正の値を足しても負になり、しかも12なんて値が唐突に現れるとは。
    これだけでも読んでよかったです。
  • id:YAMADAMAY
    やまだまや(真優) 2011/05/07 22:06:11
    質問者様へ
    ◎quintiaさんの『余りが0なら計算終わり、とするこの部分が「0÷0は1で停止するべきだ」というあなたの意図を反映したコードなのです。』『>b=0のときの例外処理を入れました。これは全ての処理の前に行わなければ(数学的な)意味が無いです。』
    とmesase50さんの『プログラムは思った通りに動かない。書いた通りに動く。』は明確に貴方のプログラミングへの考え方(姿勢)の誤りを指摘しています。
    複素数の考え方も独特の解釈をされているようですし。(単なるペアー数とは意味が違う)
    他の回答者やコメントを寄せている方も、「小学生」でも理解できるほど噛み砕いて説明されています。
  • id:T_SKG
    コメントの方が楽なので

    私の知る限り、現状の数学では、0で除算した結果を、定理としても、定義としても、公理としても決められないでいます。
    既に他の多くの方の回答やコメントにあるように、どうしても、現状の数学の他の部分と、矛盾が生じます。
    0÷0=1 余り 0 を、真とすると、他の多くの数学の成果に矛盾が生じて、使えなくなってしまいます。
    故に、0÷0=1 余り 0 の方を間違いとしています。その方が豊かな体系が使えるからです。

    1-2 = -1 は、小学一年の世界では、出来ない計算ですが、負の数を知っている世界なら、計算が可能となります。
    同様に、虚数が知られるようになる、数百年以前は、負の数の平方根を得ることは、出来ない計算でした。

    将来、0÷0 の結果に、正解を与えることのできる日が来るとよいと願っていますが、そういう数学の拡張は候補すら知りません。

    ただし、コンピュータ上の計算では、便宜のため、0÷0 を許して、代わりに、例外発生割り込みを発生させ、妥当な処理を
    するとか、0÷0 の結果に、非数と呼ばれる値の一種を与えて処理を続行できるようにするなどの対応が一般的です。
  • id:YAMADAMAY
    やまだまや(真優) 2011/05/08 11:24:37
    lionfunさん、面白い事に気付かれましたね。
    『id:practicalscheme様の
    「1+2+3+4+… と自然数を無限に足してゆくと、素朴な規則ではこれは無限大になってしまいます (発散します)。
     ところが、別の規則を使うと 1+2+3+4+… がちゃんと計算できて -1/12 という値になります」
    というのに心底びっくりしたので、ググってみたのですが、本当みたいですね。驚きました。』
    {無限級数の部分和の差し引き}になりますが、そのままでは-1/12と言う値にならない事は言わなくてもご存知だと思いますが、これは級数自体は1から無限まである前提で「ある部分の和(A)から別の部分の和(B)を差し引きしているのです」いわば、「現在の{赤字国債}的手法=未来に予想?される収支を現在に組み込む」に似ています。自然数の加算だけではどんなに計算順序を変えても、負数は出ない事もお分かりだと思います。
    余計な事ですが、(無限級数の)加減の順序を変える事によって値が変わる例を記述します、参考になれば。
    ●1-1+1/2-1/2+1/3-1/3+1/4-1/4+1/5-1/5+1/6-1/6+1/7-1/7+1/8-1/8+-...=0 を
    順序を変えて
    ●1+2-1+1/3+1/4-1/2+1/5+1/6-1/3++-...=log2
    ●1+1/2+1/3-1+1/4+1/5+1/6-1/2+++-...=log3
    ●1-1+1/2+1/3-1/2+1/4+1/5+1/6+1/7-1/3+=∞(発散)  (連続する{+}は2,4,8,16...です)
    数学者はこの級数の並べ方で色々な値を出すのに苦労されたようです。
    これは有名です、実際にやってみてはどうでしょう。
    ●e=1/0!+1/1!+1/2!+1/3!+1/4!...=1+1/1+1/(1*2)+1/(1*2*3)+1/(1*2*3*4)... (0!=1 と規定)
    ●π/3=1+1/5-1/7-1/11+1/13+1/17-1/19-1/23++--

    ここで面白い数学上の規定(約束)が有りました。上記に示した 0!=1(0の階乗) と 0^0=1(0の0乗です、0x0では有りません)です。
    どうやら必要から生まれた規定のようです。 
    T_SKGさんの言われる『0÷0 の結果に、非数と呼ばれる値の一種を与えて処理を続行できるようにするなどの対応が一般的です。』のようになるかは分かりませんが、いまは「逃げ道」だけはしっかりしてますが。
    記号が与えられるならなるべく簡単で分かりやすいのを頼みます、質問者さんが考案なさったらどうでしょう、その方が「ゼロ除算を解決した」と言い通すより、簡単に皆を納得させられるし、「発明者」としての名誉も手に入るかもしれませんよ。
  • id:YAMADAMAY
    やまだまや(真優) 2011/05/08 12:18:07
    Log of ROYGBをみました。
    確かに、この問題の答えは「極限値」とか、「微分法」では正確に解決されていますね。(いま、基本的事項を思い起こしました)
    でも、それはその時、問題によって値は異なるのであって、質問者さんの言われる商1、余り0には固定できません。(その辺が勘違いされているのか、意地になっているのか、商、余りは故意に作られています)

    極限値というのは半直線の端点の無い方の「端」の値のようなモノであって、落とし穴の上の仮想地面に立てば落っこちる事になります。あくまで「あるとすれば、ここ」なのです。その点でも、質問者さんはそういう考えも無さそうだし、根拠のない「奈落の底の上」の案内人にほかなりません。

    「極限値」の連続した、極限値線や、極限値面、極限値空間を旅するのも面白いかもしてません。「異次元」という言葉は正確ではないとおもいます。
    「ミステリアスゾーン」?、案外簡単に行けたりして。
  • id:haruyo_koi
    すみません。
    あまりわからないのですが、
    中学数学レベルは完璧な人間からみれば
    >A=BならC=1 D=0になるはずですよね?
    このC=1これが、間違っているように・・・。
    実際、Aがゼロの時はゼロなので、「A>0 かつ」という条件が入れば
    この問題は成り立つかと。
     
    そして、A=0を考慮していない問題なので、それより下のA÷B=1は成り立たないかと・・・。
  • id:mj99
    数学のことはわかりませんが、プログラムは間違っていますよね。
    この部分。
    x = x - b
    c = c + 1
    if x == 0
    d = 0
    break
    end

    cがx-bを処理した回数をあらわすのだとしたら、下記の順が正しい。
    if x == 0
    d = 0
    break
    end
    x = x - b
    c = c + 1

    「ある処理をn回実行したい」というとき、n=0の場合に1回実行されるタイプのバグ。
  • id:YAMADAMAY
    やまだまや(真優) 2011/05/10 14:48:39
    mj99さんの「下記の順が正しい。」は正しいです、c=0 になり、dはきまりませんが。
    カウントなど処理する前に次の処理をしても良いか、条件判断をいれ、パスすれば次へ進み
    だめだったら抜ける。・・・前判断の方法です。この場合は前判断するのが正しい。
    カウントしてから判断したので、C=1になった、d=0ですので抜けます・・・これでは故意にc、dを作成しているプログラムになっています。
    また、d=0を終了条件にするのは誤りです、余りは、除数より小さいのが条件です。
    if x==0;d-0 ;Break;endでなく 
    if X<b ; d = x ;Break;end
    そうすればループは永遠に抜けません。(でも正しい)

    pppppppp.....さんの
    『あなたは0÷0ができますか?0のなかに0は何個あります?
    0の中には1個0があります。そして余った0の中には1個0がある•••これは無限に続くので、答えは∞です。』は正しい見かたです。

    haruyo_koiさん 非除数(割られる側の数)A=0が問題でなく、除数(割る数)B=0が問題なのです。

    mezase50さんの『プログラムは思った通りに動かない。書いた通りに動く。』はその通りです、
    プログラムは望む答が出るように組めますが、論理が誤っていれば「正しい答の出る保障は無い」、いつも検証は大事です。
    そもそも、多くの回答者やコメントでも指摘されているように(b≠0)の条件がはいらなければ、現状では{{別世界}}の体系です。


この質問への反応(ブックマークコメント)

トラックバック

  • ゼロ除算を解決したのに、反応がいっこうに悪い件 question:1304487720 a/0を解決したよ。答えは1 余り aです。
  • Log of ROYGB - 0で割る 2011-05-06 20:39:19
    0で割る 人力検索はてなの質問、 A÷B=C 余り Dという計算をするときに、A=BならC=1 D=0になるはずですよね? 0÷0=1 余り 0という計算は間違っていますか? 0×1+0=0で検算してもあっています。 に
  • prima materia - diary - 数学の話をしよう prima materia - diary 2011-05-09 06:31:02
    A÷B=C 余り Dという計算をするときに、A=BならC=1 D=0になるはずですよね? 0÷0=1 余り 0という計算は間違っていますか? 0×1+0=0で検算してもあっています。 http://q.hatena.ne.jp/1304487720 です。 公
  • 「零で割る」というけど… &gt;question:1304487720&gt; A÷B=C 余り Dという計算をするときに、A=BならC=1 D=0になるはずですよね? 0÷0=1 余り 0という計算は間違っていますか? 0×1+0=0で検算してもあっ
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません