|
自然数の集合{1,2,3,4,・・}をNで表す。
関数fが全てのn∈Nに対し、f(1)=1,f(2n)=f(n)かつf(2n+1)=f(2n)+1を 満たすとする。f(n)を表すきれいで単純で長くても1文で書ける アルゴリズムを見つけよ。 解答
・わたしの...
f(n)=[(n-1)/2+1]
でいけてるんじゃないかいなぁ ^^...?
↑
ダメでした ^^; Orz...
↓
・鍵コメT様からの鮮やかなもの Orz〜
f(4)=f(2)=f(1)=1のはずですが,
f(n)=[(n-1)/2+1]だと,f(4)=2になってしまいますね. f(n)は,(nを2で割った余り)+f(nを2で割った商) となるので,これは「nを2進法で表した時の数字1の個数」を表しています. *なるほど!!...気づけなかった...^^; 「n-(n!の素因数2の個数)」という答え方もあります. *これ面白いけど...なぜそう言えるのかわからず...^^;...
|

- >
- Yahoo!サービス
- >
- Yahoo!ブログ
- >
- 練習用




>0:34amの鍵コメT様へ ^^
そっかぁ...^^;
別解の方は俄かにゃわからない...^^;;
紹介させていただきまっす〜m(_ _)m〜v
2018/6/19(火) 午後 4:03 [ スモークマン ]