高田修成
痛恨のプログラムミス。(;_;)
揖保郡   5月15日(木) 0:13:14   MAIL:PXU14510@nifty.ne.jp   18609
Miki Sugimoto
何かいい公式があるのかもとは思いましたが、最初は手計算で
やりました。どうしても数え落としが出てくるので、結局は
プログラムに頼りました。

100 LET x=0
110 for a1=1 to 6
120 for a2=1 to 6
121 if a2=a1 then goto 350
130 for a3=1 to 6
131 if a3=a1 then goto 340
132 if a3=a2 then goto 340
140 for a4=1 to 6
141 if a4=a1 then goto 330
142 if a4=a2 then goto 330
143 if a4=a3 then goto 330
150 for a5=1 to 6
151 if a5=a1 then goto 320
152 if a5=a2 then goto 320
153 if a5=a3 then goto 320
154 if a5=a4 then goto 320
160 for a6=1 to 6
161 if a6=a1 then goto 310
162 if a6=a2 then goto 310
163 if a6=a3 then goto 310
164 if a6=a4 then goto 310
165 if a6=a5 then goto 310
200 LET s=0
210 if a1<a2 then LET s=s+1
220 if max(a1,a2)<a3 then LET s=s+1
230 if max(max(a1,a2),a3)<a4 then LET s=s+1
240 if max(max(max(a1,a2),a3),a4)<a5 then LET s=s+1
250 if max(max(max(max(a1,a2),a3),a4),a5)<a6 then LET s=s+1
260 if s=3 then LET x=x+1
310 next a6
320 next a5
330 next a4
340 next a3
350 next a2
360 next a1
370 print x
380 end

※ max が3つ以上に対応していないとは……。(ぼそっ)
   5月15日(木) 0:16:18   MAIL:sgmiki@sea.plala.or.jp HomePage:国語にもチャレンジ  18610
まるケン
4×5
3×5
2×5
1×5
3×4
2×4
 :
 :
1×2
を足しました。
   5月15日(木) 0:17:55   MAIL:take4310@mobile.email.ne.jp HomePage:まるケンの部屋  18611
むらかみ
#18608
パペポとは懐かしい。
青春のバイブルでした。
龍太郎師匠はちょくちょく日本に戻ってるようですね。
   5月15日(木) 0:21:57     18612
maruhagedon
今日は酔っぱらい。ゴメンやしておくれやしてゴメンやっしゃー!
酔っぱらい天国   5月15日(木) 0:29:00   MAIL:hopes@mba.sphere.ne.jp HomePage:HOPES  18613
遠い山のぽきょぽん
何も考えずに場合分けです。(^^;

1番高い人の位置を決めて、それぞれの場合について
2番目に高い人の配置を決めてさらに…といった感じです。
遠い山から   5月15日(木) 0:32:32     18614
DrK
私の場合、2人が連続して影に入る場合の順列を考慮しませんでした。
これに気づけば早かったのに、悔やまれる限りです。
今は楽園かな?   5月15日(木) 0:33:52   MAIL:satoka@star.odn.ne.jp   18615
DrK
今回の場合はやはり順列を用いることになるでしょう。
今は楽園かな?   5月15日(木) 0:35:21   MAIL:satoka@star.odn.ne.jp   18616
トトロ@N
3人の場合から調べて、その結果を次に利用して解きました。
3人が2通り、4人が11通り、5人が35通りとなりました。
6人は、一番背の高い人が6番目、5番目、4番目の場合を加えて
35+30+20=85通り

もっと簡単に解けそうですね。
兵庫県明石市   5月15日(木) 0:36:21   MAIL:h-sakai@zb3.so-net.ne.jp   18617
DrK
前回の4倍も時間を費やしたのに、順位は今週のほうがよさそう。
今は楽園かな?   5月15日(木) 0:36:52   MAIL:satoka@star.odn.ne.jp   18618
中村明海
午前様の宴会帰りにはシビアな問題でした。

6!=720通りの並び方を、前方が見える人の数ごとに分類してみたら、
120,274,225,85,15,1となりました。
理由は酔いがさめてから考えます。
室蘭市   5月15日(木) 0:51:31   MAIL:naka@sansu.org HomePage:naka's Home Page  18619
遠い山のぽきょぽん
今回のような問題の場合、解こうとする前に一瞬悩みますね。
一工夫すればあっさり答えが出るタイプなのか地道に計算した方が速いのか。
私はひらめきが悪いので計算に走ってしまうことが多いです。。

ところで暇なときに過去問をやっているのですが、解けない問題がけっこうあります。。
常連さん達の正答率はどれくらいなんでしょう?
ほとんど全部解けるんだろうなぁ…。
遠い山から   5月15日(木) 0:59:24     18620
トトロ@N
#18620
195回から参加しています。
負けず嫌いなもんで、解けないと1週間ずっと悩んでます。
解けなかったのは1回だけですが、350回も危なかったです。
兵庫県明石市   5月15日(木) 1:06:49   MAIL:h-sakai@zb3.so-net.ne.jp   18621
takaisa
見える人4人の選び方は10通り.
それぞれの場合の数を数えて、2+3*(1+2)+4*(1+2+3)+5*(1+2+3+4)=85通り.
   5月15日(木) 1:20:02     18622
kasama
こんにちは。ツヨシ君、マサヒコ君、サトルさん、ヤオミン君の4人だけが前方を見ることができる並び方と勘違いしていました^o^。プログラムを作成して調べると、
 1人だけが前方を見ることができるのは120何通り
 2人だけが前方を見ることができるのは274何通り
 3人だけが前方を見ることができるのは225何通り
 4人だけが前方を見ることができるのは85何通り
 5人だけが前方を見ることができるのは15何通り
 6人だけが前方を見ることができるのは1何通り
となりました。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Question353 {
 List heightList = new ArrayList();
 public Question353() {
  for (int height = 120; height <= 220; height += 20)
   heightList.add(new Integer(height));
 }
 public int getCount(int n) {
  int count = 0;
  List permuList = new Permutation(heightList).getList();
  for (Iterator iter = permuList.iterator(); iter.hasNext(); ) {
   List list = (List) iter.next();
   int m = 0;
   for (int i = 0; i < list.size(); ++i)
    if (check(list, i)) ++m;
   if (m == n) ++count;
  }
  return count;
 }
 private boolean check(List list, int index) {
  Integer height = (Integer) list.get(index);
  for (int i = 0; i < index; ++i) {
   Integer othter = (Integer) list.get(i);
   if (othter.intValue() > height.intValue()) return false;
  }
  return true;
 }
public static void main(String args[]) {
  Question353 question = new Question353();
  for (int i = 1; i <= 6; ++i)
   System.out.println(i + "人だけが前方を見ることができるのは" +
        question.getCount(i) + "何通り");
 }
}
和歌山   5月15日(木) 1:48:27   MAIL:kasama@s34.co.jp   18623
kasama
#18623 追加:クラスPermutationの内容
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Permutation {
 private int num = 0;
 private List elementList = null;
 private List permutationList = null;
 public Permutation(List elementList) {
  this(elementList, elementList.size());
 }
 public Permutation(List elementList, int num) {
  this.num = num;
  this.elementList = elementList;
 }
 public List getList() {
  permutationList = new ArrayList();
  eachCreate(new ArrayList());
  return permutationList;
 }
 private void eachCreate(List indexList) {
  if (indexList.size() >= num) {
   List permutationElementList = new ArrayList();
   for (int i = 0; i < indexList.size(); ++i) {
    Integer index = (Integer) indexList.get(i);
    permutationElementList.add(elementList.get(index.intValue()));
   }
   permutationList.add(permutationElementList);
   return;
  }
  for (int i = 0; i < elementList.size(); ++i) {
   Integer index = new Integer(i);
   if (indexList.contains(index)) continue;
   List newIndexList = new ArrayList(indexList);
   newIndexList.add(index);
   eachCreate(newIndexList);
  }
 }
}
和歌山   5月15日(木) 2:11:32   MAIL:kasama@s34.co.jp   18624
ponta55555
#18614
#18617
発想がうらやましいです

ぼくは、小さい順に123456と番号を決め、
前方が見えない人2人を選ぶのが10とおり
10通り分全部書き出しました
(1,2)20とおり
(1,3)15とおり
(1,4)10とおり
(1,5)5とおり
(2,3)12とおり
(2,4)8とおり
(2,5)4とおり
(3,4)6とおり
(3,5)3とおり
(4.5)2とおり
となり、全部で85とおりとしましたが、

人数が8人10人となってきたら、こりゃ大変!!

でも、マサルさんいつもやさしいから、数える僕でも出来る程度の人数を出題してくださる^^;
いつも助かります!

   5月15日(木) 2:21:06   MAIL:ponta55555@hotmail.com   18625
ポケモンハルカ
今日は、ちょっと遅くなりました。おはようございます。一番高い人が何番目にいるかで、場合わけして、4番目にいると20通り、5番目にいると30通り、6番目にいると35通りとして合計しました。
米谷   5月15日(木) 6:25:58   MAIL:yasco@fine.ocn.ne.jp   18626
長野 美光
ビルディングパズルを思い出しますねぇ。>>パズルな人
新しんぱら   5月15日(木) 6:37:42   HomePage:ヨッシーの八方美人  18627
ハラギャーテイ
おはようございます。

プログラムで解きました。プログラムって
算数的な頭を使わないやり方です。
北九州   5月15日(木) 7:24:19   HomePage:ハラギャーテイの制御工学にチャレンジ  18628
Toru Fukatsu
一番最後に1番小さい人を並べると考えれば A(n+1,k)=A(n,k-1)+n A(n,k) となって、A(2,1)=A(2,2)=1より順々に計算すればA(6,4)=85 がもとまります。またこれを式で考えるとF1(x)=1 Fn+1(x)=nFn(x)+xFn(x)=(n+x)Fn(x)より
Fn(x)=1(1+x)(2+x)-----(n-1+x) のx^(k-1)の係数がn人並べた時にk人が前を見られる並び方の数になると思われます。
   5月15日(木) 10:26:31   MAIL:tfukatsu@tth-japanpost.jp   18629
有無相生
数え上げです。n人いてm人が前を見ることができる並べ方をN(n,m)として、
N(3,1)=2,N(3,2)=3,N(3,3)=1
N(4,1)=6,N(4,2)=11,N(4,3)=6,N(4,4)=1
を用いて、n=6,m=4のケースを分解して解きました。
   5月15日(木) 10:33:33     18630
M.Hossie
こんばんにゃ。今回は手計算でやるよりしょうがない問題ですね。
大抵の方々と同じく、大男が最後尾、最後尾から2番目、3番目で場合分けするのがオーソドックスな攻め方でしょう。

#18612
 ぼくは何回か京橋 OBP の読売テレビまでパペポを見に行ったことが有りますよ。朝早くから並んで整理券を貰って、夜になって収録を見学というパターンでした。
都内某所   5月15日(木) 11:04:11     18631
井本智明
やっと解けた・・・
   5月15日(木) 12:29:24   MAIL:井本 智明<57018@ikuno.osaka-c.ed.jp>   18632
DrK
よみうりてれびは京橋にあるのですか?関西テレビもその周辺だったように思うのですが。
パペポといえば私の妹が結構見ていました。夜中に起きるのが趣味でしたが、今は主婦になって子守に追われているようで、23時(夜11時)を過ぎては起きていないようです。
今は楽園かな?   5月16日(金) 1:29:24   MAIL:satoka@star.odn.ne.jp   18633
DrK
私も結局は#18626と同じ感じになりました。
今は楽園かな?   5月16日(金) 1:30:26   MAIL:satoka@star.odn.ne.jp   18634
DrK
でも、#18615で述べたとおり、影に入る場合の順列を考えなかったのがあだになり、時間がかかってしまいました。
今は楽園かな?   5月16日(金) 1:31:37   MAIL:satoka@star.odn.ne.jp   18635
吉川 マサル
#18633
 DrKさんの妹さん...一度お会いしてみたい〜!(^^;;
MacOS X   5月16日(金) 2:04:02   MAIL:masaru-y@kt.rim.or.jp HomePage:算チャレ  18636
DrK
でも、旦那付ですよ。
ワンセットになっていますが、算数とは縁が程遠いです。
もう1人いますが、こちらはまだ親元にいます。
こちらもまた算数とは縁がないですね。やってみるかとはいっているのですが、やる気配はありません。ちなみにそちらの妹、まさるさんと同じ年の生まれです。
   5月16日(金) 11:45:57     18637
ちこりん
数えてしまった・・・(汗
6人だからすぐできたけど、人数増えるとやばい・・・。
   5月16日(金) 13:02:30     18638
M.Hossie
#18633
 関テレも読テレも、昔は梅田の近所に有りましたが、どちらも現在は移転してます。関テレは扇町、読テレは京橋です。MBS も随分前に千里の山奥から梅田茶屋町 (Loft のそば) に移転しましたね。ABC は相変わらず福島にあります。

#18636
 ぼくがお会いしたいのは、250万円払ってでもお目に掛かりたい方でございます。
都内某所   5月16日(金) 16:28:51     18639
遠い山のぽきょぽん
#18621
1問だけですか…すごいですね。
350回は解けませんでした、、ムズかしかったです。
空間図形は難問が多いですね。
遠い山から   5月16日(金) 18:50:24     18640
ふじさきたつみ
やっとできました。一番背が高い人が、4番目、5番目、6番目にいる場合に分けて加えました。もっとうまい方法はわかりません。
   5月16日(金) 19:45:05   MAIL:fujisaki@octv.ne.jp   18641
DrK
#18636
実のところ、オフミに来て見るかといっているのですが・・・子守の関係上(実は乳児であるため)当分は無理でしょう。
親元にいるほうは、大阪オフミのときは、一緒に行くかといったのですが遠慮されてしまいました。算数についてもやってみればというのですが、やる気配はないですね。
今は楽園かな?   5月16日(金) 23:56:50   MAIL:satoka@star.odn.ne.jp   18642
シイサン
おりょ、1桁はさしぶりだ〜
いつもそうですが力業です。数えました。(^^ゞ
見ると「ヤオミン君」の位置から攻める方が多いですね。
私は「どの2人を後ろに移して目隠しするか」で攻めました。

#18636
私もお会いしてみたいです〜!(^^;;;;;

#18639
ぬ? なんか値上がりしてないっスか??(謎
埼玉っス   5月17日(土) 0:03:02   MAIL:shiisan@mvd.biglobe.ne.jp   18643
清川 育男
例の数列サイトによると、
ID Number: A008275
Sequence: 1,1,1,2,3,1,6,11,6,1,24,50,35,10,1,120,274,225,85,15,1,720,
1764,1624,735,175,21,1,5040,13068,13132,6769,1960,322,28,1,
40320,109584,118124,67284,22449,4536,546,36,1,362880,
1026576
Name: Triangle of Stirling numbers of 1st kind, s(n,k), n >= 1,
1<=k<=n.

A(0,0)=1, A(N,K)=A(N-1,K-1)+(N-1)*A(N-1,K)

1 2 3 4 5 6 7
-------------------------------------
1 | 1
2 | 1 1
3 | 2 3 1
4 | 6 11 6 1
5 | 24 50 35 10 1
6 | 120 274 225 85 15 1
7 | 720 1764 1624 735 175 21 1

広島市   5月17日(土) 16:45:40   MAIL:kiyo19@mxr.mesh.ne.jp   18644
???
エクセルのマクロです.
Option Explicit
Sub Macro1()
Sheets("Sheet1").Select
Cells(1, 1).Value = 0
Range("A1").Select
Dim a(5) As Integer
Call saiki(0, a())
End Sub
Sub saiki(ByVal n As Integer, ByRef a() As Integer)
Dim takai As Integer
Dim dame1 As Integer
Dim j As Integer
Dim jj As Integer
a(n) = 0
While a(n) <= 5
If dame(n, a()) = 0 Then
If n < 4 Then
Call saiki(n + 1, a())
Else
a(5) = 5
For j = 0 To 4
a(5) = a(5) + j - a(j)
Next j
takai = 1
j = 1
While takai <= 4 And j <= 5
dame1 = 0
jj = 0
While dame1 = 0 And jj < j
If a(jj) > a(j) Then
dame1 = 1
Else
jj = jj + 1
End If
Wend
takai = takai + (1 - dame1)
j = j + 1
Wend
If takai = 4 Then
Cells(1, 1).Value = Cells(1, 1).Value + 1
For j = 0 To 5
Cells(Cells(1, 1).Value, j + 2).Value = a(j)
Next j
End If
End If
End If
a(n) = a(n) + 1
Wend
End Sub
Private Function dame(ByVal n As Integer, ByRef a() As Integer) As Integer
Dim j As Integer
dame = 0
j = 0
While dame = 0 And j < n
If a(j) = a(n) Then
dame = 1
Else
j = j + 1
End If
Wend
End Function
   5月17日(土) 14:10:19     18645
拓パパ
ヤオミン君が入れる場所は3ヵ所ですので、それぞれに関して数えました.皆さんと一緒ですね.
それ以降ずっと3行解答を考えていますが、未だにうまい解答は思いつきません.
   5月18日(日) 11:24:09   MAIL:dr-yasu@nifty.com   18646
栗原英治
今回の問題は、n人いて、k人が前を見ることができるとしたとき、清川さんの記事(#18644)にあるように、第1種のスターリング数Sn,k(絶対値で考えます)になるようです。

Toru Fukatsuさん(#18629)は、漸加式A(n+1,k)=A(n,k-1)+n A(n,k) より、
Fn(x)=1(1+x)(2+x)-----(n-1+x) のx^(k-1)の係数となることを示されています。

今回の問題では、S6,4を求めることになりますが、takaisaさん(#18622),まるケンさん(#18611) の考え方を発展させれば、一般に
 Sn,kは(n-1)以下の整数より(n-k)個選んで掛け合わせたものの和(命題)
となることを示せると思います。

考え方は、次の通り。
n人を大きい順に0,1,・・・,n-1と番号をつけます。
・k=nのときは、全員が見えるときで、この場合は小さい順に並ぶ必要があるので、1通り。
よって、命題は成り立ちます。
・k=n-1のときは、1人だけ前が見えない状況になります。
一番大きい0番目の人は必ず前が見えるので、これ以外の(n-1)人から見えない人を1人選びます。これをm番目の人(m=1〜n-1)とすると、残りの人は小さい順番に並ぶ必要があるので、この人が前が見えなくなるのは、(m-1)から0までの人の後ろに並ぶm通り。
したがって、合計=1+2+・・・+(n-1)通り
このときも、命題は成り立ちます。

・さて、一般にk=n-j(j=1〜n-1)のとき、すなわちj人前が見えない状況を考えましょう。

前が見えないj人を0番以外から選びます。これは、n-1以下の整数をj個選ぶことに相当します。
これらを大きい順にm1,m2,・・・,mjとします。
残りの(n-j)人は、小さい順に並ぶ必要があります。

まず、m1の人を並べます。k=n-1のときと同じで、並べられるのは(m1-1)から0までの人の後でm1通り。
次に、m2の人を並べます。m2より大きい人は、最初から並んでいるか、あるいはあとから並ぶか、いずれにしても全員(m2-1から0のm2人)が、既に並んでいます。
従って、これらの人の後ろに並ぶm2通り。
以下、同様にして、この場合は、m1×m2×・・×mj通り。
よって、合計では、結局(n-1)以下の整数をj個掛け合わせたものの和となることになります。

ところが、j=n-kなので、(n-1)以下の整数を(n-k)個掛け合わせたものの和となり、命題が成り立つことが分かります。

高松   5月19日(月) 20:50:57   MAIL:Kurihara@mail.netwave.or.jp HomePage:数学の小部屋  18647
栗原英治
補足です。
Sn,n=1
Sn,n-1=Σj(j=1〜n-1)=n(n-1)/2(ただし、nは2以上)
Sn,n-2=Σj×k(j,k=1〜n-1,j>k)=n(n-1)(n-2)(3n-1)/24(ただし、nは3以上)

今回の問題では、S6,4=6×5×4×17/24=85通りとなります。

なお、一般式でなく、n,kを具体的な整数とするときの値でよければ、数式処理ソフトを使って、Fn(x)=1(1+x)(2+x)-----(n-1+x) を展開すれば、一発でOKですね。

n=6のときは、
Fn(x)=(1+x)(2+x)(3+x)(4+x)(5+x)=120+274x+225x^2+85x^3+15x^4+x^5となり、S6,1=120, S6,2=274, S6,3=225, S6,4=85, S6,5=15, S6,6=1と求まります。
高松   5月19日(月) 21:11:21   MAIL:Kurihara@mail.netwave.or.jp HomePage:数学の小部屋  18648
ミミズクはくず耳
遅くなりました。
皆さんと同じく、背の高い人が加わっていく漸加式で解きました。
n人いて前が見えない人がk人の場合を(n,k)として、(n,0) = 1 ですが、
(n,2) = (n-1,2)+(n-2,1)*(n-1)+(n-3,0)*(n-1)(n-2)
(n,1) = (n-1,1)+(n-2,0)*(n-1)
を順に計算しました。
会社かなっ!   5月20日(火) 9:51:51   MAIL:mae02130@nifty.com   18649