[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/28 03:01 / Filesize : 280 KB / Number-of Response : 1039
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングのお題スレ Part9



1 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 16:58:30.97 ID:gTkHDluD.net]
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part8©2ch.net
echo.2ch.net/test/read.cgi/tech/1444216746/

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
ideone.com/
codepad.org/
compileonline.com/
rextester.com/runcode
runnable.com/
code.hackerearth.com/
melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

477 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 19:30:27.01 ID:Bi4KH0eW.net]
グループの分け方は少し難しいです

レーンの各整数位置に対して、
お寿司の線の両端にあたる点同士
線の重なりがpile_max未満である区間の点(両端を含む)
を同じグループの点とし、
これらを続けることで最小のグループ分けが出来ます
線の両端の点のグループが、そのお寿司のグループになります

478 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 19:31:42.19 ID:Bi4KH0eW.net]
それぞれ、証明は出来ているつもりです

479 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 19:32:49.51 ID:Bi4KH0eW.net]
もちろん、一般の巡回問題はこの方法では無理です

480 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 19:37:29.23 ID:4r/z/Qd5.net]
全ノードを巡回する最短時間の問題だから、できそうな気がするけどね

481 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 19:39:44.61 ID:2Yw2XYfL.net]
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっている

482 名前:フリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ

それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト

473非決定性名無しさん2017/08/03(木) 15:21:30.71

JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。

446非決定性名無しさん2017/08/02(水) 22:12:48.95

JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした

自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
[]
[ここ壊れてます]

483 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 19:40:20.63 ID:Bi4KH0eW.net]
pile_maxとその位置から下限が得られますが、
>>296 の例では98秒の物以外はすべてその下限になっています
一個その下限になるような例を見つければ答えがわかるのですが、
自力で検索してみればわかると思いますがそのような例はあっさり見つかります

98秒の例は効率良く食べられない場合になります

効率良く食べられる側のなかでも、pileから得られる下限値より大きくなる場合もあります

484 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 19:43:06.99 ID:Bi4KH0eW.net]
いずれの場合も、PCを使わなくても手計算で十分可能です

485 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 10:14:33.05 ID:lRMsxOf0.net]
お題:
N次元で1辺のマス目がM個の魔法陣を作る
N>3(任意)、M>=3(任意)の超立方体



486 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 10:20:33.77 ID:lRMsxOf0.net]
参考
magcube.la.coocan.jp/magcube/jp/
nadamath2012.web.fc2.com/bushi/2004_mas2.pdf

487 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 16:38:38.03 ID:DSKC3zx4.net]
魔方陣は1個作ればいいの?

Mが奇数か4の倍数は簡単
4で割って2余るのは検索するしかないのかな?

488 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 16:55:04.37 ID:fthJj6jv.net]
バックトラックで組もうかと思ったけど、重そうだったからやめた。
数独より重そう。
それに一列合計をどの数字にするのかちょっとわからなかった。

489 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 23:20:36.13 ID:DSKC3zx4.net]
一列合計は、M*[数字の平均]
になる

つまり
M*(M^N+1)/2

490 名前:片山博文MZ mailto:sage [2017/09/18(月) 21:53:54.06 ID:iMidYxoH.net]
お題: URLから適当なサムネイルを生成するWebプログラム。

491 名前:デフォルトの名無しさん [2017/09/18(月) 23:06:01.10 ID:FC5+Wne9.net]
お題
0以上90未満の整数nを入力として
タンジェントn°の値が有理数ならば真
そうでなければ偽を返す

492 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 23:29:46.49 ID:45aelXxs.net]
bool f(int n){return n==0 || n == 45;}

493 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 23:33:52.62 ID:ILsR+BHw.net]
sed -r -e "s/^(0|45)\$/True/" -e "s/[1-8][0-9]*/False/"

494 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 01:13:30.78 ID:zMNLdsjY.net]
tanの計算しないのはどうかと

495 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 01:57:23.24 ID:Ten4kOds.net]
計算で有理数かどうか確



496 名前:F?
それは非常に難しいな

by 東大数学科卒
[]
[ここ壊れてます]

497 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 02:28:36.10 ID:SyuGyzWY.net]
>>480
そう思うなら他者を批判するより行動で示せばいいと思うよ

498 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 03:58:59.82 ID:KVkpgN/c.net]
tan1°が無理数であることの証明すら面倒くせえのに一体どんな回答を求めているんだ

499 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 06:37:25.45 ID:Ten4kOds.net]
>>483
面倒くさい?
てことは出来るの?
やってみて

500 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 07:41:26.64 ID:KVkpgN/c.net]
>>484
確か京大の過去問にあったでしょう
説明めんどいからは解法は自分で調べて

501 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 08:13:59.26 ID:Ten4kOds.net]
いや、おれは出来るよ

>>483の実力で出来るのか?と疑問に思っただけ
実力じゃなくてカンニングね

502 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 08:21:42.19 ID:KVkpgN/c.net]
何言ってんだこいつ

503 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 08:49:35.38 ID:q1kL6yRz.net]
問題が悪いな

与えられた有理数rに対し、
tan(πr)が有理数かどうか判別するプログラムを書け

ならテーブルは使えない

504 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 09:06:24.19 ID:emxMAzY1.net]
また、多倍長精度演算のないC++にはきつい問題を・・・。

505 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 11:09:01.37 ID:q1kL6yRz.net]
>>488
すいません
結果を知っていたらこれでも簡単でした



506 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 11:10:19.22 ID:q1kL6yRz.net]
>>489
多倍長を使っても解決しないでしょ

507 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 12:53:02.28 ID:RSOddfRB.net]
そもそも出題者はどういう回答を期待してるんだ?
数学の知識無しでは作れないし、数学の知識を使えば>>478になる

508 名前:デフォルトの名無しさん [2017/09/19(火) 14:38:36.12 ID:LvSRuVZD.net]
tan()の加法定理
 tan(α+β)=(tanα+tanβ)/(1-tanαtanβ)
により

もしtan(α)が有理数なら
tan(nα) (n = 1,2,3,4・・・)
も全て有理数

このため
整数nにより
tan(n)が無理数なら
nの約数全てによるtan()が無理数

ここで
tan(60)=√3
が無理数なのは簡単に証明されるため、
tan(1)
も無理数

証明終わり

509 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 14:54:56.80 ID:RSOddfRB.net]
>>476を解くにはあとtan(18度)が無理数であることを証明しないと

510 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 14:55:28.25 ID:RSOddfRB.net]
>>476じゃなくて>>477

511 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 16:11:41.85 ID:HSXd4/vW.net]
>>493
なるほど面白いねw

512 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 19:41:00.46 ID:Ten4kOds.net]
>>493
tan(π/4)は有理数だけど
tan(π/2)は有理数じゃない

513 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 20:13:34.35 ID:KVkpgN/c.net]
tan1(rad)が超越数であることを証明せよ

514 名前:デフォルトの名無しさん [2017/09/19(火) 22:25:08.25 ID:FbLYus+p.net]
>>492
WolframAlphaが
is tan(pi * 1 / 180) a rational number?
→ not a rational number
と返す仕組みを知りたかった

515 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 22:57:34.84 ID:Ten4kOds.net]
xが有理数、tan(πx)が有理数 ====> xは1/4の倍数

って覚えてるだけかと



516 名前:デフォルトの名無しさん [2017/09/20(水) 14:48:00.57 ID:jgmli1ek.net]
>>493
は加法定理で(1-tanαtanβ)が0になってはまずいので
0度以上90未満の範囲内に限定しないといけないな。


tan()の加法定理
 tan(α+β)=(tanα+tanβ)/(1-tanαtanβ)
により

もしtan(α)が有理数で、かつ 0 <= nα < 90なら
tan(nα) (n = 1,2,3,4・・・)
も全て有理数

このため
整数 n ( 0 <= n < 90 ) により
tan(n)が無理数なら
nの約数全てによるtan()が無理数

ここで
tan(60)=√3
が無理数なのは簡単に証明されるため、
tan(1)
も無理数

517 名前:デフォルトの名無しさん [2017/09/20(水) 14:51:06.46 ID:jgmli1ek.net]
tan(1)だけじゃなくて
>>477 >>478 も証明できるかな???

つまり整数 n ( 0 <= n < 90 ) において
tan(n)が有理数になるのはn=0,45に限ることの証明

tan(90-n) = 1/tan(n) なので
n ( 0 <= n < 45 ) の範囲で証明されればOK

またtan(45)が有理数で加法定理で減算し
 tan(45-n):有理数 ⇔ tan(n):有理数 ( 0 <= n < 45 )
も成立

518 名前:デフォルトの名無しさん [2017/09/20(水) 14:51:42.84 ID:jgmli1ek.net]
60の約数 はtan(n)無理数
1,2,3,4,5,6,10,12,15,20,30

519 名前:

これの45-n もtan(n)無理数
44,43,42,41,40,39,35,33,25,15

この約数で、まだ含まれていないもの
11,22,21,8,13,7

45-nにより
34,23,24,37,32,38

この約数で、まだ含まれていないもの
17,16,19

45-nにより
28,29,26

この約数で、まだ含まれていないもの
14

45-nにより
31

ここまでの数を並べると
01,02,03,04,05,06,07,08,**,10,
11,12,13,14,15,16,17,**,19,20,
21,22,23,24,25,26,**,28,29,30,
31,32,33,34,35,**,37,38,39,40,
41,42,43,44

9度の倍数の証明のみが残された
[]
[ここ壊れてます]

520 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 16:48:28.32 ID:UU/UGcdT.net]
だから>>494と書いたんだけど

521 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 21:20:48.49 ID:8kWE0pQL.net]
tan(1 rad)が超越数であることは誰も証明できないの

522 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 21:27:13.08 ID:UU/UGcdT.net]
プログラムに証明させる問題?

523 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 22:23:37.78 ID:vEoThqNS.net]
なぜラジアン?
話の流れ的にはtan(1度)だろ

524 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 22:25:37.42 ID:vEoThqNS.net]
と思ったけど、簡単すぎた

525 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 16:21:06.33 ID:na02B6ss.net]
[1] 授業単元名:FizzBuzzクイズ
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)特に問わない
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)特に問わない
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)特に問わない

kohada.2ch.net/test/read.cgi/prog/1209467166/401
FizzBuzzクイズ

1.fizz.buzz #=> 1
3.fizz.buzz #=> "Fizz"
5.fizz.buzz #=> "Buzz"
15.fizz.buzz #=> "FizzBuzz"
999.fizz.buzz #=> 999

となるようなメソッドfizz、buzzは定義可能か?
可能である場合、同様にgizzを追加定義し、
7.fizz.buzz.gizz #=> "Gizz"
21.fizz.buzz.gizz #=> "FizzGizz"
35.fizz.buzz.gizz #=> "BuzzGizz"
105.fizz.buzz.gizz #=> "FizzBuzzGizz"
105.fizz.gizz.buzz #=> "FizzGizzBuzz" と拡張・応用ができるか?

メソッドのコールに()が必須の言語では 3.fizz().buzz() 形式でも構わない。
オープンクラス機構やメソッドのない言語では関数(buzz(fizz(3)) #=> "Fizz" など)で。



526 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 19:58:51.31 ID:+ykHPOb/.net]
まともに仕様を書けない出題者

527 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 07:02:49.79 ID:aD9oWCn2.net]
これ普通の発想では無理

528 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 07:14:29.33 ID:eEMHecr4.net]
>>509
修正
×999.fizz.buzz #=> 999
○997.fizz.buzz #=> 997

529 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 07:55:33.84 ID:FtjqsiSd.net]
>>509
C++版
https://ideone.com/JdTeeD

530 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 08:00:39.43 ID:pX6TouLp.net]
仕様が謎

531 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 08:13:32.67 ID:FtjqsiSd.net]
>>509
C言語
https://ideone.com/eWR8Pl

532 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 09:43:07.90 ID:eeRMTLx0.net]
外部出力を伴う関数(あるいはメソッド)なら簡単
たぶん関数(あるいはメソッド)の返値がそうなるようにって意味かと
(じゃないと普通に書けてクイズにならない)
たしか数理学的にはこういう関数は書けないことになっていたはず

533 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:43:18.77 ID:qmG6L9xB.net]
>>509>>516 みたいなのとは絶対に一緒に仕事をしたくない

534 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:43:56.86 ID:qmG6L9xB.net]
別に戻り値にしても大して変わらんけど

535 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:51:02.25 ID:qmG6L9xB.net]
C言語だとトリッキーな技を使わないと出来ない
同じ関数名で複数関数を作れないから
2段や3段重ねて、intを受けて文字列を返すのは普通には無理

C++だと簡単
大きく分けて2つの方法がある

C++でも数値によって戻り値の型を変えるのは無理
数値がconstexprで



536 名前:良いなら出来るだろうけど []
[ここ壊れてます]

537 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:57:30.68 ID:eEMHecr4.net]
>>513
>int l_ = 3
これ、なんとかならないか?

538 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:30:21.56 ID:W1Y66+yK.net]
>>520
関数インターフェース的にはその値を与えることが出来ない

別の関数か何かで変えるかインターフェースを変えるしか

539 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:41:43.04 ID:W1Y66+yK.net]
>>516
戻り値を文字列にする方法

方法1
段階によって引数と戻り値の型を変える
S1 fizz(int n);
S2 fizz(S1 s);
std::string fizz(S2 s);
※テンプレートを使うと楽

方法2
戻り値をstd::string固定にしてなんとかする

方法2-1
戻り値は常に結果の文字列にし、パラメーター以外で情報を渡す
方法2-2
文字列に情報をエンコードして入れる
最終型段だけ結果を返すようにする

方法3
戻り値を結果文字列そのままではなく、文字列情報を含む情報とする
(これは反則かな?)

540 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:44:03.80 ID:W1Y66+yK.net]
方法2-1であれば >>520の問題は解決する
ただし、そのままだとスレッドセーフじゃなくて気持ち悪い

541 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:48:22.63 ID:eEMHecr4.net]
>>509
#=>
これって ruby の記法だったかな?評価値を変えたいようだ

542 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 18:17:47.82 ID:eeRMTLx0.net]
例えばRubyだと文字列を含め組み込み型にインスタンス変数を仕込めるので
たぶんそれで次のメソッドに情報を渡せる

543 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:04:29.86 ID:FtjqsiSd.net]
>>522 の方法2-1
C++版
https://ideone.com/ZavKGg

外部情報は「n」のみ
複数スレッドや割り込みハンドラからコールする時はこのnが問題になるんで
なんとかしてstd::stringに埋め込めれば良いんだけど

>>525
問題を変えちゃダメだよね
> [3.3] 言語: (C/C++/どちらでも可 のいずれか)特に問わない

544 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:08:43.22 ID:FtjqsiSd.net]
8行目、なんとなく文字列から判別してみたけど、
素直にnと同じように外部にフラグを持てば条件が減る
(文字列の最後が数字にならないとか文字コードが連続してるとか)

545 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:09:11.03 ID:pX6TouLp.net]
「(C/C++/どちらでも可 のいずれか)特に問わない」って日本語がまず謎
有限個の具体例しか与えられていないので仕様も謎



546 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:26:24.34 ID:FtjqsiSd.net]
出題者の選択枝が [C/C++/どちらでも可] の3個あって、出題者がその「いずれか」を選ぶ
というフォーマットを使った出題
出題者は回答者に対し『その3個のどれでも良いよ』という意味で「特に問わない」と

と私は解釈した
つまり、回答者の選択枝はCかC++のどちらかだと

出力する文字列のルールはリンク先を見れば大体わかる
gizzが7の倍数かどうかは実際には不明で、実は14で割ると7余る数かもしれないが...

リンク先に「プリントする」とあるので
printfなどで標準出力に出せば良いのかと思ったが、
>>516の解釈は違うらしい

数値の場合だけ""でくくってないので、
文字列の場合は""をくっつける必要があるのか、
型を変えろと言っているのかはよくわからん
いずれにしろ、CやC++では値によって戻り値の型を変えるのは不可能

547 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:32:11.08 ID:FtjqsiSd.net]
いずれにしろ、
>>510 >>514 >>517

548 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:33:47.07 ID:eEMHecr4.net]
>>529
>回答者の選択枝はCかC++のどちらかだと
いや、そうじゃなくて、本当に「特に問わない」、どういったらいいかな、このテンプレはC宿題スレのものを、そのまま頂戴しただけじゃない?

549 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:36:43.23 ID:FtjqsiSd.net]
>>531
君は出題者なのか?違うのか?
立場をはっきりと

550 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:39:18.64 ID:FtjqsiSd.net]
出題者なら0点

551 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:43:00.43 ID:pX6TouLp.net]
>>529
なるほど
.gizzは、与えられた数字に対してfizzbuzzが数字になるなら"Gizz"、
それ以外の場合は所定の位置(説明省くけど)に"Gizz"を挿入するものなのかと思ってたわ

552 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:51:22.72 ID:FtjqsiSd.net]
確かに
7の倍数じゃなくて1の倍数でも良いよな
たまたま >>509 の例がすべて7の倍数になってただけで

この場合、上にあげた3個のコードいずれも
7 を 1 に変えてくださいな

553 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 19:54:43.95 ID:FtjqsiSd.net]
そろそろ
出題者の模範解答
よろしくね

554 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:00:08.36 ID:eEMHecr4.net]
え゛
0点の出題だしー模範解答の質も推して知るべし、なんじゃないでしょうか……:−)

555 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:35:12.69 ID:aD9oWCn2.net]
>>526
↓この但し書きがあるってことは、問題作成者(≠出題者)としてはC/C++限定とは考えてはいないだろう

> メソッドのコールに()が必須の言語では 3.fizz().buzz() 形式でも構わない。
> オープンクラス機構やメソッドのない言語では関数(buzz(fizz(3)) #=> "Fizz" など)で。

そもそもここで出題する時点で [3] の縛りは意味をなさないよ



556 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:43:54.80 ID:W1Y66+yK.net]
>>509に書いてある以上は、それに従うのが基本

557 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:47:11.96 ID:W1Y66+yK.net]
と思って私は回答しましたが、
他の人が他の解釈で回答することまで否定はしません

558 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:47:48.19 ID:W1Y66+yK.net]
ということで、
>>538 よろしく!

559 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 03:26:09.79 ID:nBwtcNcI.net]
>>509 Ruby >>525の方針で
https://ideone.com/B6E8ig

560 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 05:00:15.00 ID:FxaWa0db.net]
>>509 F#
https://ideone.com/svYTTM

561 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 09:40:19.02 ID:9eQI4Qct.net]
>>509
@Mathematica

https://ideone.com/oC0nu7

入力値(n)をリストにして次の関数に渡さないとダメポ

562 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 11:10:41.17 ID:koNmB6po.net]
PerlやPythonは?

563 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 11:25:56.13 ID:7PRDVMsP.net]
ネタバレになるけど
このクイズはグローバル変数を使えばそれで済んでしまうシンプルな話なんだけど、それをあえて
- 各言語の機能を熟知・駆使して、面白くしたりひと工夫したりする(たとえばスレッドセーフとか)
- 前者のしくみと、7の倍数のgizzの拡張に必要な追加を最小限にすることを両立させる
というポイントが楽しみどころなんじゃないかな

564 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 11:29:36.36 ID:w6RxEhSu.net]
>>509
https://ideone.com/4p67HE
C++。題意は満たしてないけど、自分が書くとこんな感じだな。
末尾判定難しい。

565 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 17:45:33.07 ID:tyQvRaHd.net]
>>509
>>536

>>524>>547 の方法を想定
Java: https://ideone.com/i8wMea



566 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 17:47:47.85 ID:tyQvRaHd.net]
× >>524 >>547
>>524 >>542

567 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 18:26:18.44 ID:80k6Tqnu.net]
関数の入出力の型が同一である必要がある
Cならintをchar*と解釈するわけにいかないから構造体だろう

568 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 22:30:47.29 ID:PEiEI8OX.net]
スレッドローカル変数で
書いてみている

569 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 22:51:39.70 ID:PEiEI8OX.net]
>>509 Squeak Smalltalk だけどなんとか >>547 っぽい方法で

| FizzBuzzQuiz |
FizzBuzzQuiz := Trait named: #FizzBuzzQuiz uses: #() category: 'FizzBuzz-Quiz'.
FizzBuzzQuiz compile: 'isDivisibleBy: m
  ^(Processor activeProcess environmentAt: #

570 名前:fbValue) isDivisibleBy: m'.
FizzBuzzQuiz compile: ', str Processor activeProcess environmentAt: #fbValue put: self. ^str'.

FizzBuzzQuiz compile: 'fizz ^(self isDivisibleBy: 3) ifTrue: [self, ''Fizz''] ifFalse: [self]'.
FizzBuzzQuiz compile: 'buzz ^(self isDivisibleBy: 5) ifTrue: [self, ''Buzz''] ifFalse: [self]'.

{Number. String} do: [:each | each uses: FizzBuzzQuiz].

1 fizz buzz. "=> 1 "
3 fizz buzz. "=> 'Fizz' "
5 fizz buzz. "=> 'Buzz' "
15 fizz buzz. "=> 'FizzBuzz' "
14 fizz buzz. "=> 14 "

FizzBuzzQuiz compile: 'gizz ^(self isDivisibleBy: 7) ifTrue: [self, ''Gizz''] ifFalse: [self]'.

7 fizz buzz gizz. "=> 'Gizz' "
21 fizz buzz gizz. "=> 'FizzGizz' "
35 fizz buzz gizz. "=> 'BuzzGizz' "
105 fizz buzz gizz. "=> 'FizzBuzzGizz' "
105 fizz gizz buzz. "=> 'FizzGizzBuzz' "
[]
[ここ壊れてます]

571 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 08:25:43.37 ID:wOaJDXIV.net]
>>552
×>>547 っぽい方法で → ○>>542 っぽい方法で

572 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 08:49:01.13 ID:wOaJDXIV.net]
>>509 Ruby >>542>>552 と同様の手法でリファイン
https://ideone.com/2EsoeT

573 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 19:17:51.82 ID:WU5gUeBt.net]
>>509 c
https://ideone.com/oAsiG2
・構造体つこうた
・gizzの「追加定義」については簡易解釈

574 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 20:26:14.16 ID:12RNBD+4.net]
過去問を眺めていたが、もっとお気楽な問題が多かったようですね
肩慣らし問題を一つ

問題
循環小数を有理数に直せ。
循環節は括弧をつかって表現する。


0.[555] = 5/9
0.3[33] = 1/3
12.[345] = 4111/333
1.2[34] = 611/495

575 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 21:45:12.25 ID:IPnwHMWa.net]
連分数を使うのかね



576 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 23:12:59.97 ID:Y75uJW9z.net]
>>556 Java
https://ideone.com/QkUwMu

577 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 15:01:04.33 ID:qd6dTZ1I.net]
循環小数は有理数な訳だが






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<280KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef