群数列

 投稿者:山中和義  投稿日:2015年 6月18日(木)09時35分52秒
  問題
数列 1,3,5,7,9,11,13,15,17,19, … , 2k-1, … とする。
このとき、初項から第45項までの和を求めよ。

考察
第1群 第2群 第3群  第4群  …    第g群         …
 1 | 3,5 | 7,9,11 | 13,15,17,19 | … | g^2-g+1, …, g^2+g-1 | …
                      └ g個 ┘
と考える。
第g群の項数は、g個
第g群までの項数は、g(g+1)/2個
第g群の最後の項は、第k項とすると、k=g(g+1)/2 ∴2{g(g+1)/2}-1=g^2+g-1
第g群の最初の項は、第k項とすると、最後の項から(g-1)個前なので、
 k=g(g+1)/2-(g-1) ∴2{g(g+1)/2-(g-1)}-1=g^2-g+1
第g群の和は、{(g^2-g+1)+(g^2+g-1)}×g÷2=g^3
(終り)

答え
第g群の最後の項はg^2+g-1=2k-1より、k=g(g+1)/2
奇数列のk項までの和は、Σ(2m-1)=2×k(k+1)/2 -k=k^2
よって、第g群までの和は、{g(g+1)/2}^2(=Σg^3)
k=45なので、g=9 ∴45^2=2025
(終り)


DEF F(K)=2*K-1 !一般項
LET S=0 !和
LET K=0 !第k項
LET G=0 !第g群
DO
   LET G=G+1
   PRINT USING "##: ": G;
   FOR i=1 TO G
      LET K=K+1
      PRINT F(K);
      LET S=S+F(K)
      IF K=45 THEN EXIT DO !45項目なら終了する
   NEXT i
   PRINT "     "; K; S
LOOP
PRINT
PRINT K; F(K) !k項
PRINT S
END


実行結果

1:  1       1  1
2:  3  5       3  9
3:  7  9  11       6  36
4:  13  15  17  19       10  100
5:  21  23  25  27  29       15  225
6:  31  33  35  37  39  41       21  441
7:  43  45  47  49  51  53  55       28  784
8:  57  59  61  63  65  67  69  71       36  1296
9:  73  75  77  79  81  83  85  87  89
45  89
2025



----------------------------------

問題
数列
 1,2, 1,2,2, 1,2,2,2, 1,2,2,2,2, 1,2,2,…
(1) 初項から第1993項までの和を求めよ。
(2) 初項からの和が2001より初めて大きくなるのは第何項目か。

考察
第1群 第2群  第3群  第4群   …  第g群    …
1,2 | 1,2,2 | 1,2,2,2 | 1,2,2,2,2 | … | 1,2,2,…,2 | …
                     └ g個 ┘
と考える。
第g群までの項数は、2+3+4+ … +(g+1)=Σ[m=1,g](m+1)=g(g+3)/2
第g群までの和は、3+5+7+ … +(2g+1)=Σ[m=1,g](2m+1)=g(g+2)
(終り)

答え
(1)
61×(61+3)÷2=1952<1993<62×(62+3)÷2=2015 ∴1993-1952=41 ∴第62群の41項目
61×(61+2)+(1+2×40)=3924
(2)
43×(43+2)=1935、44×(44+2)=2024なので、2002-1935=67
よって、671=1+2×33 ∴第44群の34項目 ∴43×(43+3)÷2+34=1023項目
(終り)


LET S=0 !和
LET K=0 !第k項
LET G=0 !第g群
DO
   LET G=G+1
   PRINT USING "##: ": G;
   FOR i=1 TO G+1
      LET K=K+1
      IF i=1 THEN
         PRINT "1";
         LET S=S+1
      ELSE
         PRINT "2";
         LET S=S+2
      END IF
      IF K=1993 THEN EXIT DO !(1)の解答
      !!IF S>2001 THEN EXIT DO !(2)の解答
   NEXT i
   PRINT K; S
LOOP
PRINT " ←"; i !g群の項
PRINT K !項
PRINT S
END



----------------------------------

問題
数列
 1,2,1/2,3,1,1/3,4,3/2,2/3,1/4,5,2,1,1/2,1/5, …
とする。
このとき、初項からの積が5005になる最初の項を求めよ。

考察
第1群 第2群 第3群   第4群      第5群     …
 1 | 2,1/2 | 3,1,1/3 | 4,3/2,2/3,1/4 | 5,2,1,1/2,1/5 | …
すなわち、
第g群
 g/1, (g-1)/2, (g-2)/3, (g-3)/4, … , 2/(g-1), 1/g
  └───       g個       ───┘
と考える。
第g群のm項は、(g-m+1)/m
第g群の1項からm項までの積は、C(g,m)
第g群のすべての項の積は、1となる。
(終り)

答え
C(g,m)=5005を求める。
(終り)


OPTION ARITHMETIC RATIONAL
DEF F(G,m)=(G-m+1)/m !一般項
LET S=1 !積
LET K=0 !第k項
LET G=0 !第g群
DO
   LET G=G+1
   PRINT USING "##: ": G;
   FOR m=1 TO G
      LET K=K+1
      PRINT F(G,m);
      LET S=S*F(G,m)
      IF S=5005 THEN EXIT DO !終了する
   NEXT m
   PRINT "     "; K; S
LOOP
PRINT " ←"; m !g群の項
PRINT K !k項
PRINT S
END



別解 C(g,m)

LET G=1
DO
   FOR M=1 TO INT(G/2) !対称性を考慮する
      IF COMB(G,M)=5005 THEN EXIT DO
   NEXT M
   LET G=G+1
LOOP
PRINT G;M
END


 

戻る