むらい
最初700を送ってしまいました(-_-)
クーラーの効きすぎた部屋   12月1日(木) 0:07:31   HomePage:問題  26246
Taro
7×10000÷107の端数切捨てでいいことに、たったいま気づきました。
おうち   12月1日(木) 0:10:24     26247
吉川マサル@京ぽん2
機種変更したばかりの京ぽん2からテストもかねて書き込みです。

知ってる人には瞬殺の問題かと思います。急いで作ったので、ミスと問題文の不具合が心配です。
でんしゃ?   12月1日(木) 0:11:48     26248
atomick
#26246
全く同じことをやってしまいました。最近誤答を送りつけることが多くて反省・・・
   12月1日(木) 0:14:01     26249
凡太
私も最初700を送ってしまいました。平成2年開成中6番や、平成9年栄光学園中4番(その他出題多数)の類題ですね。
   12月1日(木) 0:18:36     26250
aaa
支払額が10000円になる9346円との差額654円
つまり654個
   12月1日(木) 0:20:20     26251
白拓
私は送ってませんw
   12月1日(木) 0:38:42     26252
吉川 マサル
帰宅しましたー。

 とりあえずミスはなかったようで、ホッとしています。(^^;;
PowerBook G4   12月1日(木) 0:40:41   MAIL:masaru-y@san su.org HomePage:算チャレ  26253
ゴンとも
昨日の夜11時でのあるサイトから3サイト目で徹夜プログラム(十進basic)す。
for x=1 to 9346
let y=x*1.07
let z=truncate(y,0)
print z
next x
end
で羅列させさいごの結果の横にマウスをおいて9346
これを1万から引いて10000-9346=654個・・・・・・(答え)
昨日の夕方出題のサイトもまだ正解してないのでまだやる予定です。
豊川市   12月1日(木) 5:07:40   MAIL:fttnm528@ybb.ne.jp   26254
ウラル
3分かかんなかったのですが、いかんせん遅すぎた・・・
9347円以上ののものを買うと税込みで1万超えますよね。
   12月1日(木) 7:02:53     26255
???
Sub Macro1()
Cells(1, 1).Value = 0
Dim a(10000) As Integer
Dim kingaku As Integer
Dim j As Integer
For j = 1 To 10000
a(j) = 0
Next j
For j = 1 To 10000
kingaku = Int(j * 1.07)
If kingaku <= 10000 Then
a(kingaku) = 1
End If
Next j
For j = 1 To 10000
If a(j) = 0 Then
Cells(1, 1).Value = Cells(1, 1).Value + 1
Cells(Cells(1, 1).Value, 2).Value = j
End If
Next j
End Sub
   12月1日(木) 8:40:49     26256
ハラギャーテイ
Programです。あまり良いプログラムではなかったのですが、
一回で求まりました。
北九州   12月1日(木) 9:02:13   HomePage:信号処理に挑戦  26257
kasama
おはようございます。

public class Question479 {
 public static void main(String[] args) {
  boolean[] kin = new boolean[10001];
  for (int i = 0; i < kin.length; ++i) kin[i] = false;
  for (int n = 1; ; ++n) {
   int k = 107*n/100;
   if (k >= kin.length) break;
   kin[k] = true;
  }
  int count = 0;
  for (int i = 1; i < kin.length; ++i) if (!kin[i]) ++count;
  System.out.println(count);
 }
}
出先   12月1日(木) 9:41:08     26258
ブーン
エクセルで解いたんですが…
10000から9346引くとかまったく意味がわからないんですけど…、誰か詳しく説明してもらえませんか?
   12月1日(木) 10:24:22     26259
みけ
ブーンさん、つまりこういうことです。
エクセルで解いたなら、きっとこの説明でわかってくれると信じて説明します。
まず、消費税込みで10000円の税抜価格を考えましょう。9346円ですね。
というわけで、1列目に1〜9346の数字を書きます。
そして、2列目に1列目の値を1.07倍した値を計算します。
もちろんこのときエクセルでは四捨五入した値しか表示できないと思いますので、
そこは工夫してください^^;(しなくても答は出ると思いますけど)
そうすると、2列目には税込の価格が出ていると思いますが、
「9346」行目で、2列目の値が「10000」になっているはずです。
ということは、9346行目までの間に「10000ー9346」個の数字が
存在していないわけですから、答は654ということになります。
長くなってすみません^^;
   12月1日(木) 11:33:08     26260
みけ
修正:()内の「答は」っていうのは「654という答自体は」ってことです。
あと、下から3行目の−(マイナス記号)が「ー」になっちゃってますね。
申し訳ありません^^;
みけかど   12月1日(木) 12:36:14     26261
uchinyan
はい、こんにちは。今回はどうも理屈がもう一つでした...
答え、654個、は、プログラム組んですぐに出ました。perl です。

# Sansuu Challenge 479

$r = 1.07; $n = 10000;
@p = ();
foreach (1..$n) {
 $a = int($_ * $r);
 if($a <= $n) {
  push(@p,$a);
 }
}
$c = $n - @p;
print "ありえない金額の個数:$c";

問題は理屈なのですが...ポイントは、
・0.07 * 15 = 1.05 なので、15 番目ごと、差は 14、で消費税込みの金額が +1 されそうなこと。
・10000 * 1.07 = 10700 なので、多くとも、消費税込みの金額のうち 700 個以下のありえない金額があること。
でしょうか。ただ、実際に少しやってみると、前者は余り簡単ではないようで、少しずれが生じます。
正確な評価は面倒そうなので、10000/1.07 = 9345.79... より、おおよそ、
9345 * 1.07 = 9999.15 -> 9999
9346 * 1.07 = 10000.22 -> 10000 = 9999 + 1
...
9356 * 1.07 = 10010.92 -> 10010
9357 * 1.07 = 10011.99 -> 10011 = 10010 + 1
9358 * 1.07 = 10013.06 -> 10013 = 10011 + 1 + (+1)
...
9370 * 1.07 = 10025.90 -> 10025
9371 * 1.07 = 10026.97 -> 10026 = 10025 + 1
9372 * 1.07 = 10028.04 -> 10028 = 10026 + 1 + (+1)
<--- 9372 = 9358 + 14
...
9999 * 1.07 = 10698.93 -> 10698
10000 * 1.07 = 10700 = 10698 + 1 + (+1)
となることから、[x] を x の整数部分を与えるとして(いわゆるガウスの記号)、
(10700 - 10000) - [(10000 - 9346)/14] = 700 - [654/14] = 700 - [46.7...] = 700 - 46 = 654 個
とやってみました。
今回はこれが正解なのですが、この計算では、一般には、ブレが出るようです。
正しい理屈は、掲示板を読んで勉強します。
ネコの住む家   12月1日(木) 12:53:07   MAIL:uchi@sco.bekkoame.ne.jp   26262
uchinyan
(少し修正)
#26262
うへー、自己レスです! 自分の解答を読み返していて気付きました。アホみたいに簡単でした!!
消費税込み前と消費税込み後とが「一対一に対応している」のがポイントです。
これは、n -> [1.07 * n] で、n+1 -> [1.07 * (n+1)] = [1.07 * n + 1.07] >= [1.07 * n] + 1 より、明らかですね。
すると、10000/1.07 = 9345.79... より、
9345 * 1.07 = 9999.15 -> 9999
9346 * 1.07 = 10000.22 -> 10000
だから、消費税込みの金額でありえない個数は、消費税込み後に 10000 を超えてしまう消費税込み前の 10000 に届かない個数
と同じになり、10000 - 9346 = 654 個です。
なお、プログラムはこれを仮定したコーディングになっています。本当はバグなんだけど、実は、これで理屈に気が付いた...
それと、(10700 - 10000) - [(10000 - 9346)/14] = 700 - [654/14] で答えが式の一部に出ているし!
うひゃー、失礼しました (^^;
ネコの住む家   12月1日(木) 21:53:30   MAIL:uchi@sco.bekkoame.ne.jp   26263
長野 美光
寝てしまった。
#26259
¥1(税抜き)は税込みでは¥1です。順に
¥2→¥2
¥3→¥3
 ・・・・
¥9346→\10000
となります。→の左の数は、1〜9346 まで、連続した数です。
つまり、9346 行の ¥○○→¥○○ があります。
一方、右の数字はどこかが抜けているのですが、
いずれにしても、10000−9346=654 個が抜けています。
(→の右に、同じ数字が2つ以上ないことが前提ですが、それは良いですね)
はままつ   12月1日(木) 13:11:34   HomePage:ヨッシーの八方美人  26264
uchinyan
掲示板読みました。やはり、理屈は、私の#26263でいいようですね。
それにしても#26262の後半は恥ずかしいけど、まぁ、#26263の前座としては意味があるから、消さないでとっておきます ^^;
ネコの住む家   12月1日(木) 13:16:33   MAIL:uchi@sco.bekkoame.ne.jp   26265
θ
これと全く同じ問題、前に作ったことある・・・
   12月1日(木) 15:21:58     26266

これと全く同じ問題、前に解いたことある・・・
はままつ   12月1日(木) 17:22:57   HomePage:ヨッシーの八方美人  26267
スモークマン
10000/1.07=9345
9345個は、m円 x 1.07=[m]円になるものがあることになる。
今考えてるのは、[m]の数だから9345個そのもの。
0円は意味ないから、9999-9345=654

実際は、ぐちゃぐちゃ考えた結果入れました。。。
金光   12月1日(木) 20:24:21   MAIL:kennji72001@yahoo.co.jp   26268
スモークマン
#26247
Taroさんへ。
そのスマートな解法の解説お願いできませんでしょうか?
金光   12月1日(木) 20:30:14   MAIL:kennji72001@yahoo.co.jp   26269
DrK
この場合は107円ごとに7つの金額が存在しないことになります。2次方程式の考え方で10000円を107円で割ると93と余りが49円となります。0円から49円の間には存在しない金額は15円、30円、45円の3種です。
以上から93×7+3=654が答え
今度こそ地上の楽園   12月2日(金) 1:25:05   MAIL:satoka@star.odn.ne.jp   26270
みけ
ブーンさん、つまりこういうことです。
エクセルで解いたなら、きっとこの説明でわかってくれると信じて説明します。
まず、消費税込みで10000円の税抜価格を考えましょう。9346円ですね。
というわけで、1列目に1〜9346の数字を書きます。
そして、2列目に1列目の値を1.07倍した値を計算します。
もちろんこのときエクセルでは四捨五入した値しか表示できないと思いますので、
そこは工夫してください^^;(しなくても答は出ると思いますけど)
そうすると、2列目には税込の価格が出ていると思いますが、
「9346」行目で、2列目の値が「10000」になっているはずです。
ということは、9346行目までの間に「10000ー9346」個の数字が
存在していないわけですから、答は654ということになります。
長くなってすみません^^;
   12月2日(金) 10:05:11     26271
uchinyan
2005/12/08 済みません。ミスがありました。訂正しました。
#26269#26270
Taroさんの式は私も気になっていて、私の#26262の後半との関係がありそうな気がしていました。
その方向で昨夜考えたことですが、DrKさんの#26270と同じようです。ただ、折角考えたので、一応、書き込んでおきます。
#26262で述べたように、ほぼ、14 又は 15 の周期で一つ数字が抜けます。ただ端数があるので、正確にはそうなりません。
ではどうなるかというと、DrKさんがおっしゃるとおり、消費税込み前の 100 円まで、消費税込み後で 100 * 1.07 = 107 円までで、
107 - 100 = 7 個の数字が抜けます。これが、正確な規則性、周期性、になっています。
ちなみに、[100/7] = 14、[107/7] = 15 なので、14 及び 15 は、消費税込み前及び消費税込み後の擬似周期になっています。
そこで、消費税込み後 10000 円までで、10000/107 = 93 余り 49 なので、
7 * 93 = 651 個と、余り 49 の分、これは 1 円 〜 49 円の場合と同じで、15 周期の範囲で 49/15 = 3 余り 4 から 3 個抜けます。
余り 49 の分は、49 * 7/107 = 3 余り 22 とやってもいいですね。後では、これを使います。
念のために、具体的には、
9299 * 1.07 = 9949.93 -> 9949
9300 * 1.07 = 9951  -> 9951 : 9950 が抜ける <--- 107 円で 7 個抜ける最後 <----- ここを訂正!
9301 * 1.07 = 9952.07 -> 9952
...
9314 * 1.07 = 9965.98 -> 9965
9315 * 1.07 = 9967.05 -> 9967 : 9966 が抜ける
...
9328 * 1.07 = 9980.96 -> 9980
9329 * 1.07 = 9982.03 -> 9982 : 9981 が抜ける
...
9342 * 1.07 = 9995.94 -> 9995
9343 * 1.07 = 9997.01 -> 9997 : 9996 が抜ける
9344 * 1.07 = 9998.07 -> 9998
9345 * 1.07 = 9999.15 -> 9999
9346 * 1.07 = 10000.22 -> 10000
になります。
したがって、結局、651 + 3 = 654 個抜けます。
以上のことをまとめて一つの式で書くと、
7 * 10000/107 = 7 * (93 + 49/107) = 7 * 93 + 7 * 49/107 = 7 * 93 + 3 + 22/107 = 654 + 22/107
となり、Taroさんの式が正しいことが分かります。
要するに、Taroさんの式のポイントは、「消費税込み後の金額で、107 円で 7 個抜ける」という周期性ですね。
同じ理由で、7 * 9346/100 や、私の#26262の後半の正しいことも、若干の誤差の危険はありますが、いえると思います。
なお、以上は、今回の問題の周期性を使った別解にもなっています。
ネコの住む家   12月8日(木) 17:00:43   MAIL:uchi@sco.bekkoame.ne.jp   26272
スモークマン
#26272
uchinyanさんへ。
解説どうもです。つまりは、抜ける数を周期性で数えたってことですね!

一般にs%の消費税のときでも、m 円 x (1+s/100) = [M]
に対応するわけだから、消費税込みで10000 円以内の支払額は、
[10000/(1+s/100)] = S ですよね。
だから、支払額としてあり得ない金額の種類は、
9999-S と常に言えますよね〜?
金光   12月2日(金) 11:50:35   MAIL:kennji72001@yahoo.co.jp   26273
uchinyan
#26273
>9999-S と常に言えますよね〜?
はい、そう思います。今度は大丈夫だよなぁ ^^;
多分、この掲示板での多くの方の方式で書くと、10000 - ([10000/(1+s/100)] + 1) となりそうですが、結局、これは、
10000 - ([10000/(1+s/100)] + 1) = 10000 - (S + 1) = 9999 - S
です。
周期性の解法では、[s * 10000/(100+s)] ですが、
[s * 10000/(100+s)] = [((100+s) - 100) * 10000/(100+s)] = [10000 - 10000/(1+s/100)] = 10000 - [10000/(1+s/100)] - 1 = 9999 - S
で、同じですね。マイナスの場合の [ ] のはずし方が少し難しいですが、試してみると、端数がある場合には -1 でいいようです。

(ちょっと追加)
残念ながら、今回も間違いでした。
10000/(1+s/100) が割り切れるとき、例えば s = 0, 60, 100 など、は、10000 - S になるようです。
ネコの住む家   12月4日(日) 8:30:29   MAIL:uchi@sco.bekkoame.ne.jp   26274
スモークマン
#26274
uchinyanさんへ。
10000/1.07=9345
9346x1.07=10000.22
9347x1.07=10001.29
だから、10000-9346=654 でいいんだ!
つまり、S=[10001/(1+s/100)] のはずなので、
求める数は、10000-S となるはずです。。。
これだと、割り切れたら-1 ですよね?
0円とは関係なかった〜orz
金光   12月3日(土) 8:40:31   MAIL:kennji72001@yahoo.co.jp   26275
uchinyan
#26274
もう少し調べてみました。残念ながら、9999 - [10000/(1+s/100)] が正解でない s は、まだまだありそうです。
原因の一端は、次の場合とも関係があります。
#26275
なるほど。うまい数字をもってきましたね。でも、10000 - [10001/(1+s/100)] も、例えば、s = 37, 46 などで破綻します。
どうしてか分かりますか?
ネコの住む家   12月3日(土) 11:21:10   MAIL:uchi@sco.bekkoame.ne.jp   26276
スモークマン
#26276
uchinyanさんへ。
s=37,46 は、10001 の約数で割り切れちゃうからでしょ?
その場合は、10000-S-1 でいいですよね?(#26275
金光   12月3日(土) 13:45:42   MAIL:kennji72001@yahoo.co.jp   26277
スモークマン
#26277
10001 は、1.37,1,46 で、割り切れるって言う意味です。
10001=137x146x50 だから、100% 未満の消費税はもうないですよね!
金光   12月3日(土) 14:05:50   MAIL:kennji72001@yahoo.co.jp   26279
uchinyan
#26277#26279
そうですが、10000 がちょうど抜けるので、10000-S では、引き過ぎてしまいます。この場合は、10000-S+1 が正解のようです。
9999-S でうまくいかない場合も、似たような状況があるようです。
ただ、10000 と 10001 の約数の個数の差が、一般式がより多くの場合をカバーできるかどうかに影響しているようです。
変な工夫をしないで、一つの式で自然に書き下せる一般式を求めるのは、なかなか難しい気がしています。
ネコの住む家   12月4日(日) 8:10:55   MAIL:uchi@sco.bekkoame.ne.jp   26280
信三
皆さんの中には買い物をした後で割引や特典などで、支払い金額がただになった経験はありませんか? 私が言いたいのは 0円 という金額は、品物の値段としてはありえないが、支払い金額としてはあり得る種類と考えられるのではないかということです。すると、1万円以下の支払い金額の種類は 10001種と考えることができます。これから この場合あり得る金額の種類 9346 を引くと、あり得ない金額の種類は 655 と考えられます。
   12月3日(土) 18:02:37     26281
Taro
#26269
#26272でuchinyanが思われている通り、周期性で考えてました。
出題されたときにはそこまで短い式では気づいておらず、107円あたり7個で、
93周期が107×90+107+107+107=9951円でそこまでで7×93=651個
あとは107/7円ごとなので3つほどあるものと考えていたりしました。
おうち   12月3日(土) 23:02:12     26282
吉川 マサル
#26281

 なるほど、支払い金額0円、ですか...。一般的な算数の問題としては、ポイント還元等で0円になる、というのは考えませんが、まぁ「絶対にない」とは言いきれないのかも知れません。たしかにヨドバシで全額ポイントで支払ったこともありますし。

 というわけで、今晩にでも「今回の問題では、支払金額0円は考えないものとします」という注釈を入れさせていただきます。m(__)m
PowerBook G4   12月4日(日) 15:03:33   MAIL:masaru-y@san su.org HomePage:算チャレ  26283
Plutonian
以前、「鳩の巣原理」なるものを数学本で知りましたが、今回の問題は、
まさに「鳩の巣原理」の問題だなぁと思いました。
とても おもしろい考え方の原理です。

すでに、「1対1の対応」が話題に上っていますが、
それを分かりやすく考えるものです。

いま、鳩が 9346羽いることをイメージしてください。
そして、1〜10000の番号がふられた10000個の空の鳩舎が並んでいます。
1つの鳩舎には1羽しか入れません。
ここで、9346羽の鳩を一斉に放ち、すべていずれかの鳩舎に入れました。
そうすると、鳩がどんな組み合わせの入り方をしようとも、
とにかく 654個の鳩舎が残りますよね。

なかなか おもしろい原理でしょ!
冥界より   12月5日(月) 0:37:30     26284
Plutonian
      ガウス記号

最近は、上側のガウス記号('「' と、それとは左右反対の記号とを使う)と
下側のガウス記号('」' とそれとは左右反対の記号とを使う)とを
使い分ける傾向にあるようです

上側の記号は、正の数の場合、切り上げで、
下側の記号は、従来の '[ ]' と同じ(正の数の場合、切り捨て)。
(今回の問題のように、切り上げで考えたいときも多いですよね)。

この新しいガウス記号で考えると、s%の消費税のときは、
   10000−「10000/{(100+s)/100}](上側記号の代用)
と表せると思われます。

従来のガウス記号で表すとすれば、いったん負の数にして処理することになると思われます。
   10000+[−10000/{(100+s)/100}]
冥界より   12月5日(月) 1:10:37     26285
Plutonian
      ガウス記号

最近は、上側のガウス記号('「' と、それとは左右反対の記号とを使う)と
下側のガウス記号('」' とそれとは左右反対の記号とを使う)とを
使い分ける傾向にあるようです

上側の記号は、正の数の場合、切り上げで、
下側の記号は、従来の '[ ]' と同じ(正の数の場合、切り捨て)。
(今回の問題のように、切り上げで考えたいときも多いですよね)。

この新しいガウス記号で考えると、s%の消費税のときは、
   10000−「10000/{(100+s)/100}](上側記号の代用)
と表せると思われます。

従来のガウス記号で表すとすれば、いったん負の数にして処理することになると思われます。
   10000+[−10000/{(100+s)/100}]
冥界より   12月5日(月) 1:29:38     26286
スモークマン
#26186
Plutonianさんの方法でも、1.0001 のとき、つまり、消費税が、0.01% のときは、+1 しないと成り立たないように思いますが。。。?
違うかなあ〜?
金光   12月5日(月) 9:21:46   MAIL:kennji72001@yahoo.co.jp   26287
uchinyan
#26285 (#26286) Plutonianさんへ。
ガウス記号に関する面白い情報ありがとうございます。
はい、基本的にはその通りだと思います。
ただ、s = 7% はともかく、残念ながら、一般式に関しては、あまり改善は見られないようです。
切り上げのガウス記号を < > と書くことにすると、結局、x が正の場合には、x = a.b、a 整数部分、b は小数部分、として、
[x] = [a.b] = a
<x> = <a.b> = a+1 = [x] + 1 for b not= 0
<x> = <a.b> = a = [x] for b = 0
なので、結局、9999 - [10000/(1+s/100)] 又は 10000 - [10000/(1+s/100)] と同じになると思います。
[10000/(1+s/100)] が割り切れる場合には改善されますが、それ以外ではうまくいかないようです。
具体的には、s = 11, 17, ... などで破綻するようです。
なお、b not=0 の場合は、<x> = <a.b> = a+1 = [(a+1).b] = [a.b + 1] = [x+1] とも書けますね。

(ついでに追加)
(ちょっと修正)
Plutonianさんが書かれているように、一般に、<x> = -[-x] になるようです。
x > 0 の場合:
x = a+b > 0, a > 0, 1 > b >= 0 として、
b not= 0 の場合は、
<x> = <a+b> = a+1, 及び -[-x] = -[-a-b] = -(-(a+1)) = a+1 で、<x> = -[-x]
([-4.5] = [-4-0.5] = -5 などになることに注意。)
b = 0 の場合は、
<x> = <a> = a, 及び -[-x] = -[-a] = -(-a) = a で、<x> = -[-x]
つまり、<x> = -[-x] です。
x = 0 の場合:
<x> = -[-x] は明らか。
x < 0 の場合:
-x = a+b > 0 として、b not= 0 でも b = 0 でも、
<x> = <-a-b> = -a, 及び -[-x] = -[a+b] = -(a) = -a で、<x> = -[-x]
(<-4.5> = <-4-0.5> = -4 などになることに注意。)
以上より、結局、<x> = -[-x] になります。
ネコの住む家   12月6日(火) 12:55:07   MAIL:uchi@sco.bekkoame.ne.jp   26288
uchinyan
#26288 及びその関連書き込み
そうか、切り上げのガウス記号を < > と書いて、
10001 - <10001/(1+s/100)>
又は、<x> = -[-x] だから
10001 + [-10001/(1+s/100)]
は、うまくいくかな?

(少し追加)
今、ちょこちょことプログラムを組んで、s を 0.01 から 0.01 刻みで 100 までの範囲を調べた限りでは、うまくいくようです。
ネコの住む家   12月5日(月) 11:36:03   MAIL:uchi@sco.bekkoame.ne.jp   26289
スモークマン
#26289
uchinyanさんへ。

>10001 - <10001/(1+s/100)> のときは、おかしいような。。。
だって、切り上げだから、<>内が、[10002/(1+s/100)] と等しい時が起こりそう。ということは、2個余分に数え上げてる可能性がありますから、そのときは、もう+1 が必要な気がするんですが。。。
金光   12月5日(月) 14:58:59   MAIL:kennji72001@yahoo.co.jp   26290
uchinyan
#26290
ちょっと不思議なんですが、なかなか奥が深いようです。
>だって、切り上げだから、<>内が、[10002/(1+s/100)] と等しい時が起こりそう。
>ということは、2個余分に数え上げてる可能性がありますから、そのときは、もう+1 が必要な気がするんですが。。。
例えば、今回の問題、s = 7 の場合、
<10001/(1+7/100)> = <9346.7...> = 9347
[10002/(1+7/100)] = [9347.6...] = 9347
で、確かに一致しますが、
10001 - <10001/(1+7/100)> = 10001 - 9347 = 654
となり、正解です。また、10000 - [10001/(1+s/100)] でダメだった s = 37 の場合、
<10001/(1+37/100)> = <7300> = 7300
[10002/(1+37/100)] = [7300.7...] = 7300
で、やはり一致しますが、
7299 * 1.37 = 9999.63 -> 9999
7300 * 1.37 = 10001 -> 10001
なので、答えは、10000 - 7299 = 2701 ですが、
10001 - <10001/(1+30/100)> = 10001 - 7300 = 2701
となって、正解を与えます。
実際、[10002/(1+s/100)] と一致する場合は多々ある、むしろ一致する方が多い、のですが、
プログラムでチェックした限りでは、それで問題ないようで、正しい答えを与えるようです。
なお、例えば、s = 30 は、
<10001/(1+30/100)> = <7693.07...> = 7694
[10002/(1+30/100)] = [7693.8...] = 7693
で一致しませんが、
7692 * 1.30 = 9999.6 -> 9999
7693 * 1.30 = 10000.9 -> 10000
7694 * 1.30 = 10002.2 -> 10002
なので、答えは、10000 - 7693 = 2307 ですが、やはり、
10001 - <10001/(1+30/100)> = 10001 - 7694 = 2307
となって、正解を与えます。
細かい理屈は、よく分かりませんが、少なくともスモークマンさんのお考えは、残念ながら、正しくないようです。
偶然なんだろうか。でも、偶然にしてはうまく行き過ぎているような...?
ネコの住む家   12月5日(月) 18:49:04   MAIL:uchi@sco.bekkoame.ne.jp   26292
スモークマン
#26292
uchinyanさんへ。
>10001 + [-10001/(1+s/100)]
は納得いくんです。。。
これと、10001 - <10001/(1+s/100)> が、同値ならわたしもよいように思えます。

最大で2違う場合は存在しませんね!
10002/(1+s) が割り切れるとき=m が最大のはずだから。
<10001/(1+s)>=<(10002-1)/(1+s)>=<m-0.・・・>=m ですもんね!
だいたい差が2になることはないんだ・・・!
金光@岡山   12月6日(火) 1:51:28   MAIL:kennji72001@yahoo.co.jp   26293
uchinyan
#26293
えと、<x> = -[-x] の証明は、#26288に追加してあります。
ということは、一応、解決? 
実は、私が、理屈のレベルでは、よく分かっていなかったりする (^^;

(理屈を追加)
議論も一段落したようなので、証明を考えてみました。地道に場合分けすればできるようです。

10000 円以下でありえない金額の個数が 10001 - <10001/(1+s/100)> となる証明:
ここで、< > は切り上げのガウスの記号とします。つまり、<3.2> = 4, <5.7> = 6 などです。
なお、[ ] は通常の切り捨てのガウスの記号です。つまり、[3.2] = 3, [5.7] = 5 などです。
さて、10001/(1+s/100) = a+b、ただし、a > 0, 0 <= b < 1 とおきます。
また前提として、s は消費税なので、0 <= s と仮定します。
(1) b not= 0 の場合
まず、<10001/(1+s/100)> = <a+b> = a+1 です。そこで、
10001 - <10001/(1+s/100)> = 10001 - (a+1) = 10000 - a
になります。
一方で、(a+b) * (1+s/100) = 10001、0 < b < 1 (今は b は 0 でない場合を考えている。) なので、
a * (1+s/100) < 10001 = a * (1+s/100) + b * (1+s/100) < a * (1+s/100) + (1+s/100) となり、
10000 - s/100 < a * (1+s/100) < 10001
つまり、10000 - s/100 < a * (1+s/100) < 10000 又は 10000 <= a * (1+s/100) < 10001 のいずれかです。
(1-1) 10000 - s/100 < a * (1+s/100) < 10000 の場合
10001 - s/100 < a * (1+s/100) + 1 < 10001, a * (1+s/100) + 1 < (a+1) * (1+s/100) なので、
一見、10001 - s/100 < (a+1) * (1+s/100) < 10001 又は 10001 <= (a+1) * (1+s/100) が可能に思えます。
しかし、10001/(1+s/100) = a+b < a+1 だったので、10001 < (a+1) * (1+s/100) となり、
10001 - s/100 < (a+1) * (1+s/100) < 10001 はありえません。つまり、[(a+1) * (1+s/100)] >= 10001 です。
さらに、10001/(1+s/100) = a+b > a も考慮して、10000 - s/100 < a * (1+s/100) < 10001、[a * (1+s/100)] <= 10000 なので、
可能な金額は a 個。したがって、不可能なのは 10000 - a になり、OKです。
ちなみに、b not= 0 のときは s not= 0 なので、10000 が抜ける可能性があります。
(1-2) 10000 <= a * (1+s/100) < 10001 の場合
明らかに、[a * (1+s/100)] = 10000 なので、可能な金額は a 個で、不可能なのは 10000 - a になり、OKです。
結局、いずれもが 10000 - a となり、成立します。
(2) b = 0 の場合
このときは、<10001/(1+s/100)> = <a> = a です。そこで、
10001 - <10001/(1+s/100)> = 10001 - a
になります。
一方で、a * (1+s/100) = 10001 なので、明らかに、(a-1) * (1+s/100) = 10000 - s/100 < 10000 となり、
可能な金額は a-1 個で、不可能なのは 10000 - (a-1) = 10001 - a になり、OKです。この場合も、10000 が抜けますね。
以上で、証明は終わりです。
ネコの住む家   12月6日(火) 12:37:42   MAIL:uchi@sco.bekkoame.ne.jp   26294
スモークマン
#26294
uchinyanさんへ。
一般式の発見ですね!素晴らしい!
でも、時間経ったら思い出せないかも。。。(わたしはね)

とあるサイトにガウス記号を使った問題がありました。
問題
x[x[x[x]]]=88 を満たす実数 x を求めよ。

わたしは有理数では求められたけど、無理数の範囲には存在しないのかどうかわからないんです。。。
金光@岡山   12月6日(火) 16:27:09   MAIL:kennji72001@yahoo.co.jp   26295
uchinyan
#26295
>x[x[x[x]]]=88 を満たす実数 x を求めよ。
>わたしは有理数では求められたけど、無理数の範囲には存在しないのかどうかわからないんです。。。
取り敢えず、ちょこちょこやって、x = 22/7 は、すぐに分かりますね。
問題は、これ以外にないか、か...
それもあるけれど、22/7 は、π の近似値ですよね。何でこんなところに π が出てくるの?
(証明の追加)
ちょっと考えてみました。
x = 22/7 以外には解はないようです。
・x = 0 のとき
明らかに解ではありません。
・x > 0 のとき
x = 22/7 = 3 + 1/7 の場合は、
[x] = 3, x[x] = 9 + 3/7, [x[x]] = 9, x[x[x]] = 28 + 2/7, [x[x[x]]] = 28,
x[x[x[x]]] = 28 * (3 + 1/7) = 84 + 4 = 88
となり、解です。
x > 22/7 = 3 + 1/7 の場合は、
[x] >= 3, x[x] > 9 + 3/7, [x[x]] >= 9, x[x[x]] > 28 + 2/7, [x[x[x]]] >= 28,
x[x[x[x]]] > 28 * (3 + 1/7) = 84 + 4 = 88
となり、解はありません。
x < 22/7 = 3 + 1/7 の場合は、
[x] <= 3, x[x] < 9 + 3/7, [x[x]] <= 9, x[x[x]] < 28 + 2/7, [x[x[x]]] <= 28,
x[x[x[x]]] < 28 * (3 + 1/7) = 84 + 4 = 88
となり、解はありません。
・x < 0 のとき
x = -3 の場合は、
[x] = -3, x[x] = 9, [x[x]] = 9, x[x[x]] = -27, [x[x[x]]] = -27
x[x[x[x]]] = 81
となり、解ではありません。
x < -3 の場合は、
[x] <= -4, x[x] > 12, [x[x]] >= 12, x[x[x]] < -36, [x[x[x]]] <= -37
x[x[x[x]]] > 111
となり、解はありません。
0 > x > -3 の場合は、
0 > [x] >= -3, 0 < x[x] < 9, 0 < [x[x]] <= 8, 0 > x[x[x]] > -24, 0 > [x[x[x]]] >= -24
0 < x[x[x[x]]] < 72
となり、解はありません。
結局、x = 22/7 だけが解です。
ネコの住む家   12月6日(火) 21:25:57   MAIL:uchi@sco.bekkoame.ne.jp   26296
スモークマン
#26296
uchinyanさん、ごめんなさい!私ぼけてますわ〜
x に、整数かけて整数だから、x は、有理数ですわね!今頃気付きました。。。22/7 はもちろん正解!
   12月6日(火) 20:25:54   MAIL:kennji72001@yahoo.co.jp   26298
uchinyan
#26298
一応、#26296に証明を追加しました。
しかし、88 がポイントなのでしょうが、π の近似値が答えなのは面白いです ^^/
ネコの住む家   12月6日(火) 21:29:06   MAIL:uchi@sco.bekkoame.ne.jp   26299
スモークマン
#26296 に関連して・・・
[x[x[x[x]]]]=88 のときは、実数xは求められるのでしょうか?
この時は無理数も含まれますものね?
やはり、x の範囲は絞れるのかな〜?
金光@岡山   12月6日(火) 22:44:06   MAIL:kennji72001@yahoo.co.jp   26300
トトロ@N
あのう、順位表が何か変です。0位がいたりメール到着日時が35年前だったり。
兵庫県明石市   12月6日(火) 23:44:02   MAIL:h-sakai@zb3.so-net.ne.jp   26301
スモークマン
#26300 自己レス。。。
[x[x[x[x]]]]=88 のときの実数xは・・・
x[x[x[x]]]]=88
x=q/p
p,qは正整数とする。
[ ] は整数だから、また、3<x<4 なので、
q=88 と考えると、22<p<30 となるから、
計算して、88/28=22/7 のときだけ満たす。
同様に、
x[x[x[x]]]]=89
x=q/p
3<x<4
q=89
22<p<30
89/28 の時だけ成り立つ。
以上より、22/7≦x<89/28 でいいのかな??
金光@岡山   12月6日(火) 23:52:31   MAIL:kennji72001@yahoo.co.jp   26302
uchinyan
#26302
朝のガタガタしてる時間帯なのでほとんど直感ですが、#26296と同じようにして、
22/7 <= x < 89/28 以外に解がないこと、この間にあれば、
[x] = 3, [x[x]] = 9, [x[x[x]]] = 28, [x[x[x[x]]]] = 88
は容易に示せるので、スモークマンさんのお考えでよさそうですね。
今度は大丈夫だよなぁ...^^;
ネコの住む家   12月7日(水) 7:43:53   MAIL:uchi@sco.bekkoame.ne.jp   26303
スモークマン
#26303
uchinyanさん、お忙しい中、追試していただきサンクス!!
金光   12月7日(水) 10:37:47   MAIL:kennji72001@yahoo.co.jp   26304