�������裱���������ʬ�β�����

ゴンとも
Maxima で

for n:2 thru 1000 do (if cardinality(divisors(n))=6 and part(divisors(n),7)=12 then print(n));

84,96,108,132・・・・・・(答え)
豊川市   12月5日(木) 0:21:34     53726
ゴンとも
#53726

コードが1箇所間違えで動かないものを張り付けて・・・訂正で・・・

for n:1 thru 100000 do (if cardinality(divisors(n))=12 and part(divisors(n),7)=12 then print(n));
豊川市   12月5日(木) 0:30:30     53727
ベルク・カッツェ
12の約数は6個。
7、11を追加する場合は12×7=84、12×11=132。
8を追加する場合は12×2だと約数が足りないので12×8=96、
9を追加する場合は12×3だと足りないので12×9=108、
よって答えは84、96、108、132になりました。

前回は結局答えが分からず、先ほど掲示板を見ました。
そして掲示板の正解設定が前回の数値です。
   12月5日(木) 0:42:24     53728
今年から高齢者
12の約数=1,2,3,4,6,12=1*2²*3なので
12までにあと1つだけ。1,2,3とかけて12より大きいこと
7,8,9,10,11
10は約数に5を持つので12が8番目の約数になるので不適。
1*2²*3*7=84、1*2²*3*8=96、1*2²*3*9=108、1*2²*3*11=132
   12月5日(木) 0:45:51     53729
Mr.ダンディ
約数として^2x3を含まなければならないから
3x2^,2^3x3^2,2^2^3, 3x2^2x(2,3以外の素数� �
が候補としてあがり
12が7番目に来るには 2^3x3^2は不適、1は7か11でなければならず
結局
84,96,108,132が答え・・・・となりました。

茨木市   12月5日(木) 0:46:41     53730
今年から高齢者
#53729
表示エラー(使用できない文字を貼り付けしてしまいました)「2&#178」は「2^2」です
   12月5日(木) 0:48:34     53731
「数学」小旅行
12×整数で12未満の約数が1つだけ増えるようにするには?、と考えました。
   12月5日(木) 1:54:28     53732
巷の夢
マサル様
 正解値が前回の数値のままですね・・・。
真白き富士の嶺   12月5日(木) 6:11:51     53733
「数学」小旅行
約数が12個ということは、小さい方から順に並べて、真ん中の2個、すなわち6番目と7番目の積がもとの数になるということ。
7番目が12だから、6番目は12より小さく、したがって、もとの数は144より小さいということ。しかも12の倍数。
そんなことを考えてからRubyでプログラムしてみました。
for a in 1..12
  m=12*a;n=0;f=0
  for i in 1..m
    n+=1 if m%i==0
    if n==6&&f==0 then d=i;f=1 end
    if n==7&&i==12&&a==d then p m;break end
  end
end
   12月5日(木) 11:28:07     53734
「数学」小旅行
#53734 訂正です。
三行目の  for i in 1..m は  for i in 1..12 で十分でした。
   12月5日(木) 11:36:34     53735
KawadaT
約数は12個です。
素因数分解して、仮にp^a*q^b*r^c(ただしpqrはそれぞれ素数、abcはべき乗数)となった場合、約数は(a+1) (b+1) (c+1)です。

12を約数に含むので、求める数は2^2*3の倍数になりますが、12を7番目の約数にするためには素数の7または11を倍数とすれば、条件に合致します(5では10も12の前置きとなるので不可)

その他では、2^5*3、または2^2*3^3でも条件に合致します(2^3*3^2では8も9も12の前置きとなるので不可)

以上の4通り以外はないので、答えは84、96、108、132
   12月5日(木) 18:41:34     53736
「数学」小旅行
#53734 再訂正です。
6行目で、n=7になるまで調べたらbreakするように、
if n==7 then
  p m if i==12&&a==d
  break
end
といたします。
   12月6日(金) 11:14:51     53737
「数学」小旅行
Rubyでもうひとつ。こんなのは如何?
p (1..12).map{|i|i*12}.select{|j|(m=(1..12).select{|k|j%k==0})[6]==12&&m[5]*12==j}
   12月7日(土) 10:21:54     53738
「数学」小旅行
まだ、遊ばせてもらってます。
この問題のように、約数が2kこあって、小さい方からk+1番目の約数が2kとなる数は?
n=2 [2]
n=4 [8]
n=6 [18]
n=8 [40, 56]
n=10 [80]
n=12 [84, 96, 108, 132]
n=14 []
n=16 []
n=18 [252, 288]
n=20 []
n=22 []
n=24 [480, 504]
n=26 []
n=28 []
n=30 [720]
n=32 []
n=34 []
n=36 [1260]
n=38 []
n=40 []
ここまで出してみましたが、12がベストな出題だと改めて感心しました。
なお、これ以降にはなさそうな感じです。
   12月7日(土) 12:23:05     53739
ゴンとも
#53739
>この問題のように、約数が2kこあって、小さい方からk+1番目の約数が2kとなる数は?

自分もMaxima 以下のコードでやってみましたが

for m:2 thru 50000 step 2 do
for n:1 thru 100000 do (if n>=m and cardinality(divisors(n))=m and part(divisors(n),m/2+1)=m then print(m,n));

enter 押して 

2 2
4 8
6 18
8 40
8 56
10 80
12 84
12 96
12 108
12 132
18 252
18 288
24 480
24 504
30 720
36 1260

>なお、これ以降にはなさそうな感じです

今も実行中ですが10万でも10分以上もかかってますが・・・
それ以外はないことはわかるんでしょうか?
豊川市   12月11日(水) 20:40:15     53740

過去問題一覧へ戻る