プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/12/01(木) 16:58:30.97ID:gTkHDluD
プログラミングのお題スレです。

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

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

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

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

宿題は宿題スレがあるのでそちらへ。
2017/09/22(金) 14:57:30.68ID:eEMHecr4
>>513
>int l_ = 3
これ、なんとかならないか?
2017/09/22(金) 16:30:21.56ID:W1Y66+yK
>>520
関数インターフェース的にはその値を与えることが出来ない

別の関数か何かで変えるかインターフェースを変えるしか
2017/09/22(金) 16:41:43.04ID:W1Y66+yK
>>516
戻り値を文字列にする方法

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

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

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

方法3
戻り値を結果文字列そのままではなく、文字列情報を含む情報とする
(これは反則かな?)
2017/09/22(金) 16:44:03.80ID:W1Y66+yK
方法2-1であれば >>520の問題は解決する
ただし、そのままだとスレッドセーフじゃなくて気持ち悪い
2017/09/22(金) 16:48:22.63ID:eEMHecr4
>>509
#=>
これって ruby の記法だったかな?評価値を変えたいようだ
2017/09/22(金) 18:17:47.82ID:eeRMTLx0
例えばRubyだと文字列を含め組み込み型にインスタンス変数を仕込めるので
たぶんそれで次のメソッドに情報を渡せる
2017/09/22(金) 19:04:29.86ID:FtjqsiSd
>>522 の方法2-1
C++版
https://ideone.com/ZavKGg

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

>>525
問題を変えちゃダメだよね
> [3.3] 言語: (C/C++/どちらでも可 のいずれか)特に問わない
2017/09/22(金) 19:08:43.22ID:FtjqsiSd
8行目、なんとなく文字列から判別してみたけど、
素直にnと同じように外部にフラグを持てば条件が減る
(文字列の最後が数字にならないとか文字コードが連続してるとか)
2017/09/22(金) 19:09:11.03ID:pX6TouLp
「(C/C++/どちらでも可 のいずれか)特に問わない」って日本語がまず謎
有限個の具体例しか与えられていないので仕様も謎
2017/09/22(金) 19:26:24.34ID:FtjqsiSd
出題者の選択枝が [C/C++/どちらでも可] の3個あって、出題者がその「いずれか」を選ぶ
というフォーマットを使った出題
出題者は回答者に対し『その3個のどれでも良いよ』という意味で「特に問わない」と

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

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

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

数値の場合だけ""でくくってないので、
文字列の場合は""をくっつける必要があるのか、
型を変えろと言っているのかはよくわからん
いずれにしろ、CやC++では値によって戻り値の型を変えるのは不可能
2017/09/22(金) 19:32:11.08ID:FtjqsiSd
いずれにしろ、
>>510 >>514 >>517
2017/09/22(金) 19:33:47.07ID:eEMHecr4
>>529
>回答者の選択枝はCかC++のどちらかだと
いや、そうじゃなくて、本当に「特に問わない」、どういったらいいかな、このテンプレはC宿題スレのものを、そのまま頂戴しただけじゃない?
2017/09/22(金) 19:36:43.23ID:FtjqsiSd
>>531
君は出題者なのか?違うのか?
立場をはっきりと
2017/09/22(金) 19:39:18.64ID:FtjqsiSd
出題者なら0点
2017/09/22(金) 19:43:00.43ID:pX6TouLp
>>529
なるほど
.gizzは、与えられた数字に対してfizzbuzzが数字になるなら"Gizz"、
それ以外の場合は所定の位置(説明省くけど)に"Gizz"を挿入するものなのかと思ってたわ
2017/09/22(金) 19:51:22.72ID:FtjqsiSd
確かに
7の倍数じゃなくて1の倍数でも良いよな
たまたま >>509 の例がすべて7の倍数になってただけで

この場合、上にあげた3個のコードいずれも
7 を 1 に変えてくださいな
2017/09/22(金) 19:54:43.95ID:FtjqsiSd
そろそろ
出題者の模範解答
よろしくね
2017/09/22(金) 20:00:08.36ID:eEMHecr4
え゛
0点の出題だしー模範解答の質も推して知るべし、なんじゃないでしょうか……:−)
2017/09/22(金) 20:35:12.69ID:aD9oWCn2
>>526
↓この但し書きがあるってことは、問題作成者(≠出題者)としてはC/C++限定とは考えてはいないだろう

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

そもそもここで出題する時点で [3] の縛りは意味をなさないよ
2017/09/22(金) 20:43:54.80ID:W1Y66+yK
>>509に書いてある以上は、それに従うのが基本
2017/09/22(金) 20:47:11.96ID:W1Y66+yK
と思って私は回答しましたが、
他の人が他の解釈で回答することまで否定はしません
2017/09/22(金) 20:47:48.19ID:W1Y66+yK
ということで、
>>538 よろしく!
2017/09/23(土) 03:26:09.79ID:nBwtcNcI
>>509 Ruby >>525の方針で
https://ideone.com/B6E8ig
2017/09/23(土) 05:00:15.00ID:FxaWa0db
>>509 F#
https://ideone.com/svYTTM
2017/09/23(土) 09:40:19.02ID:9eQI4Qct
>>509
@Mathematica

https://ideone.com/oC0nu7

入力値(n)をリストにして次の関数に渡さないとダメポ
2017/09/23(土) 11:10:41.17ID:koNmB6po
PerlやPythonは?
2017/09/23(土) 11:25:56.13ID:7PRDVMsP
ネタバレになるけど
このクイズはグローバル変数を使えばそれで済んでしまうシンプルな話なんだけど、それをあえて
- 各言語の機能を熟知・駆使して、面白くしたりひと工夫したりする(たとえばスレッドセーフとか)
- 前者のしくみと、7の倍数のgizzの拡張に必要な追加を最小限にすることを両立させる
というポイントが楽しみどころなんじゃないかな
2017/09/23(土) 11:29:36.36ID:w6RxEhSu
>>509
https://ideone.com/4p67HE
C++。題意は満たしてないけど、自分が書くとこんな感じだな。
末尾判定難しい。
2017/09/23(土) 17:45:33.07ID:tyQvRaHd
>>509
>>536

>>524>>547 の方法を想定
Java: https://ideone.com/i8wMea
2017/09/23(土) 17:47:47.85ID:tyQvRaHd
× >>524 >>547
>>524 >>542
2017/09/23(土) 18:26:18.44ID:80k6Tqnu
関数の入出力の型が同一である必要がある
Cならintをchar*と解釈するわけにいかないから構造体だろう
2017/09/23(土) 22:30:47.29ID:PEiEI8OX
スレッドローカル変数で
書いてみている
2017/09/23(土) 22:51:39.70ID:PEiEI8OX
>>509 Squeak Smalltalk だけどなんとか >>547 っぽい方法で

| FizzBuzzQuiz |
FizzBuzzQuiz := Trait named: #FizzBuzzQuiz uses: #() category: 'FizzBuzz-Quiz'.
FizzBuzzQuiz compile: 'isDivisibleBy: m
  ^(Processor activeProcess environmentAt: #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' "
2017/09/24(日) 08:25:43.37ID:wOaJDXIV
>>552
×>>547 っぽい方法で → ○>>542 っぽい方法で
2017/09/24(日) 08:49:01.13ID:wOaJDXIV
>>509 Ruby >>542>>552 と同様の手法でリファイン
https://ideone.com/2EsoeT
2017/09/25(月) 19:17:51.82ID:WU5gUeBt
>>509 c
https://ideone.com/oAsiG2
・構造体つこうた
・gizzの「追加定義」については簡易解釈
2017/10/15(日) 20:26:14.16ID:12RNBD+4
過去問を眺めていたが、もっとお気楽な問題が多かったようですね
肩慣らし問題を一つ

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


0.[555] = 5/9
0.3[33] = 1/3
12.[345] = 4111/333
1.2[34] = 611/495
2017/10/15(日) 21:45:12.25ID:IPnwHMWa
連分数を使うのかね
2017/10/15(日) 23:12:59.97ID:Y75uJW9z
>>556 Java
https://ideone.com/QkUwMu
2017/10/17(火) 15:01:04.33ID:qd6dTZ1I
循環小数は有理数な訳だが
2017/10/17(火) 16:22:17.58ID:kN20YVKE
0.[555] = 0.[5] = 5/9
0.3[33] = 0.[3] = 3/9
12.[345] = 12+345/999
1.2[34] = 1.2+34/990
2017/10/17(火) 18:47:49.98ID:ELG/Hivs
てすと
562デフォルトの名無しさん
垢版 |
2017/10/18(水) 11:15:59.21ID:xwRaz5Kx
>>560
おお。そういう法則で行けるのか。
きっと数学では大昔に証明されてるんだろうけど知らなかった。(または忘れたのかなあ?)
563デフォルトの名無しさん
垢版 |
2017/10/18(水) 11:35:57.38ID:bG8m3FQp
ああ。なんとなくわかった。10の桁数乗の値で割るとそっくりそのまま小数点以下になるが
1足りないから循環するのか。ああ、しかし、数学的にどう表現したらいいかわからない。w
2017/10/18(水) 15:51:59.37ID:+Osy4cjh
お題:顔文字(^o^)があります。この(^o^)を左右に動かしながら出力します。(^o^)は左から右へ一文字ずつ動き、端に到達した瞬間だけ(^o^)から(>_<)に変化し、また(^o^)に戻って左端へ行き、同じように繰り返します。
端から端までは最初80文字分の幅がありますが、(^o^)が端に達した回数だけ1文字ずつ狭くなっていき、最終的に(^o^)の端まで狭くなり、(^o^)が動けなくなります。(^o^)が動けなくなったらプログラムを終了してください。
565デフォルトの名無しさん
垢版 |
2017/10/18(水) 17:36:32.86ID:jSYDae9q
>>564 Bash (builtins)
https://ideone.com/KFko4s

幅80文字だと出力が長くなりすぎて途中で切られるので50文字にしました。
2017/10/18(水) 19:53:42.77ID:4F2aMcKp
ウインドウズでエスケープシーケンス扱うのにおまじないいるからメンドクセー。
567デフォルトの名無しさん
垢版 |
2017/10/18(水) 21:05:28.73ID:xwRaz5Kx
>>564
改行せずにカーソルを先頭に戻すのは CR (13) の出力で良いのか?
それとも curses ライブラリを使うべきか?
2017/10/19(木) 01:56:08.11ID:Lj1i7npR
>>567
好きな方をどうぞ
curses使うのはいいですね
こちらからは見れませんが
569デフォルトの名無しさん
垢版 |
2017/10/19(木) 03:35:28.31ID:CNJYIyj0
じゃ、とりあえず CR 出力版。Perl プログラム。
但し、待ち時間入れないと速すぎて見えないので適当に usleep を入れた。
テストした環境は Linux で端末は Windows の TeraTerm。
TERM=xterm の状態。

但し、プログラムを貼り付けたサイト(paiza.io)での出力はおかしくなる。
何故なら端末として動いてないから。
試したい場合はプログラムをコピーして自分の環境のエディタ等にペーストして保存後に実行して。

https://paiza.io/projects/rQDCQizcsrydlcrkxylR1w
2017/10/19(木) 05:11:39.88ID:sgSfn4oM
>>564
https://ideone.com/dakfBb
C++。改行でやってみた。ちょっと汚い。
2017/10/22(日) 11:49:54.00ID:/Umsqxkx
お題:A〜Z、1〜9で出来たランダムな文字列がある(文字列はプログラム開始時に自動的に決めてよい)
キーを2つ決めて(←→キーが自然かも)例えば→キーを押すと、文字列のうち2〜9があるか
どうかを調べ、あればそのうち一つをランダムに選び、数字を一つ減らし(9なら8へ)、左右ランダムに
1を置く
つまり2以上の数字文字があればそこがゴムのような役目をして文字列が伸びる
全部の数字文字が1になったら何もしない

逆に例えば←キーを押すと、文字列のうち1〜8があるかどうかを調べ、そのうちランダムに一つを
選び、その左右どちらかに数字文字がないかを調べ、足した合計が9を超えないようなら足し合わせて
数字文字をその合計値にし、文字列を1つ縮める
足し合わせた合計が9を超えるようなら他の数字文字もランダムに同様に一つ選び、足し合わせて
9を超えない数字文字の部分が見つかったらそれを一つだけ足し合わせて縮める

全部の数字文字が9になるか、9に満たないが足し合わせると9を超えるようになったら何もしない
2017/10/23(月) 04:21:48.29ID:sHZ1Pe4U
>>571
https://ideone.com/pjZbOc
C++。デバッグ難しくてやる気がしないのでバグってるかも。
カーソルキー取るの面倒だからASキーにしておいた。
こんな感じでいいのか?

何のシミュレータかしらんけどめんどくせーな。
2017/10/23(月) 04:35:24.25ID:sHZ1Pe4U
あ、それと、文字列で計算するのめんどくさかったから、数字でやった。
そっち事情なんか知ったこっちゃない。
574デフォルトの名無しさん
垢版 |
2017/10/23(月) 05:46:30.69ID:iFI38Dlw
%%%%1000%%%%

000-[HUM%58*73.1\%]/2I/3NM/61.3SNMK%?%3%51.22222222222221%
001-[[[%6/4$17.6135412α3]]]]+DOM+SIL+7%
002-UML7%[61.2[31.5[!%32∂LM17.36%!16.3!%<<<%!HSTOL7%!Q!S!=3m=<2TOL<3Q9A<2.1GHz%,DOK,HAOARA,
003-[[[HEMLOT47[<\41.2%Q,===>[MLS<DPNO<\2.3>#ESOLA!5%!3MLA!>LTOSA>7TONSA>%>%end
2017/10/23(月) 17:28:50.67ID:f/2PkHQ/
>>574
全く読めねぇw
2017/10/23(月) 20:53:32.54ID:burVCZw1
ランダムの分布は指定なし?
2017/10/23(月) 23:01:59.68ID:sHZ1Pe4U
いろんなところでたまに見かけるけど、>>547 ってPGなの?
2017/10/24(火) 06:49:36.20ID:kt50Dt6N
PGとは?
2017/10/24(火) 07:14:59.91ID:Ohc+APnW
プロパンガス
2017/10/24(火) 08:55:25.49ID:TzjXrYm3
パーフェクトグレイド
2017/10/24(火) 11:04:02.33ID:2qWQgTrR
>>575>>577
>>574はvbsウィルスの一部だよ
つまりワクチンソフトに引っかかるとこのログが検疫されるので注意
2017/10/24(火) 21:14:43.61ID:6ceRFBNE
>>581
さんくす。
583デフォルトの名無しさん
垢版 |
2017/10/25(水) 20:13:14.36ID:gieh1Z5o
お題
())())のように括弧のみからなる文字列が与えられるので
すべての括弧が正しく対応付けされるためには
最低で何箇所の括弧を逆向きに変更すればよいか求めよ
例えば上の例では2文字目か3文字目を変更すればよいので1を出力せよ
何文字変更しても正しく対応付けできない場合は-1を出力せよ

) -> -1
())()) -> 1
)()()( -> 2
)))((( -> 4
(())())((())(()( -> 3
())((())()))()(((()))()((((((((()()(())) -> ?
2017/10/25(水) 21:21:26.00ID:/TQ9iqwZ
>>583 Java
https://ideone.com/Oca2HR
585デフォルトの名無しさん
垢版 |
2017/10/26(木) 00:42:38.67ID:0Gn/TXrF
>>583
Ruby
https://ideone.com/wQA5TN
2017/10/26(木) 07:09:40.17ID:vEkFybta
>>583
https://ideone.com/OkCwgQ
C++。効率とかショートコーディングとかそういうものをかなぐり捨ててべた書き。
あってるかな?
2017/10/26(木) 08:33:36.44ID:8oLfrbud
おむ
2017/10/26(木) 08:35:57.56ID:8oLfrbud
誤爆
>>583 Ruby

def calc str
return -1 if str.size.odd?
ary = optimise str.scan(/(?=.)(\(*)(\)*)/).map{|a, b| a.size - b.size}
(-ary[0] + ary[1].to_i).abs/2 + ary[0]%2
end

def optimise ary
a = ary.reject(&:zero?).chunk(&:positive?).to_a.transpose[1].map(&:sum)
return a if a.size < 3
a.unshift(0) if a[0] < 0
optimise a.each_slice(2).map(&:sum)
end

STR = %w{
)
())())
)()()(
)))(((
(())())((())(()(
())((())()))()(((()))()((((((((()()(()))
}

STR.each{|s| puts "%s -> %d"%[s, calc(s)]} #=>
) -> -1
())()) -> 1
)()()( -> 2
)))((( -> 4
(())())((())(()( -> 3
())((())()))()(((()))()((((((((()()(())) -> 5
2017/10/26(木) 19:12:02.71ID:MqWL4ZqL
>>583 ruby
https://ideone.com/jGTfL3
2017/10/27(金) 22:31:59.57ID:sfTuRN3o
>>583
@Mathematica

https://ideone.com/19n4r2
2017/11/04(土) 00:05:20.36ID:4+O3ouw4
Quineの派生ということで、コードそれ自身を反転させたものを出力せよ
反転とは文字列"abc\ndef"を"fed\ncba"にすること
2017/11/04(土) 01:52:41.37ID:P09Vk2Mx
数列 6,66,666,6666,66666.....
これをダミアン数列と呼ぶことにしましょう

nを自然数としたときn^n(^はべき乗)の桁数(10進数で)が
ダミアン数列のどれかになることはあるか?
初歩的な計算で7^7=823543が6桁になることがわかります

問 このような不吉な数は
    7のみである
    有限個存在する
    無限に存在する

ここまで書いてみたけどこの問題だとプログラミングのお題じゃないね
数論で解けるのかなあ?

改めてお題
ダミアン数列の最初の10項につながる不吉な自然数はあるか、あるとすれば
その数はいくつか

力技では時間が掛かりすぎると思うので工夫してみてください
593デフォルトの名無しさん
垢版 |
2017/11/04(土) 03:18:31.96ID:RXqoYVvx
意味不明
2017/11/04(土) 03:39:51.41ID:pxF/c+yt
>>591
https://ideone.com/1bQnxO
C++。VCオンリー。
ウニコード対応しようと思って色々やってたけど、なんかうまくいかねー。
一応VCではうまくいってるっぽいけど、GCCと共通のコードはまだ規格的にきつそうだ。
うへー。大変だったわ。やっぱ、文字列は鬼門。
2017/11/04(土) 04:34:35.38ID:tUO6oLmA
>>592 Java
https://ideone.com/furdsD
2017/11/04(土) 08:04:59.76ID:bqd73Ayh
>>591 Squeak/Pharo Smalltalk

thisContext method getSource reversed allButLast: 8

"=> '8 :tsaLtuBlla desrever ecruoSteg dohtem txetnoCsiht' "
2017/11/04(土) 10:09:48.41ID:VZ1zDZPp
>>591 ruby
https://ideone.com/k9nGSp
2017/11/05(日) 14:54:08.02ID:rWIlHQ+T
>>597 ruby
d="]esrever.d,d[%'d=p%;s%' stup";puts '%s;%p=d'%[d,d.reverse]
#=> ]esrever.d,d[%'d=p%;s%' stup;"puts '%s;%p=d'%[d,d.reverse]"=d
2017/11/05(日) 14:54:35.06ID:rWIlHQ+T
安価ミスったorz
2017/11/05(日) 22:47:04.05ID:Pt23fyK7
>>595
2で割らずにシフトしてたり芸が細かいですな
2017/11/07(火) 23:38:24.35ID:BS6pey7a
お題。ツイッターのフォロワーを使ってお金を稼ぐ具体的な方法を思い付く限り列挙せよ。
2017/11/07(火) 23:48:06.18ID:aP9yM4om
やだ。
2017/11/08(水) 00:39:27.61ID:z/y1zyUv
プログラミングに関係ないお題は却下
604デフォルトの名無しさん
垢版 |
2017/11/08(水) 20:48:53.00ID:XbOytUUT
片山博文MZってコジキなのか?
2017/11/13(月) 00:48:07.30ID:PHmyYrtX
コジキっていうか、頭の弱い子
2017/11/14(火) 21:49:31.73ID:yEmE0LhS
コード中でa-zA-Z0-9の文字を一切使わずに
Hello World!!
と出力せよ。
"!"の後ろの改行の有無は問わない。
2017/11/14(火) 22:13:39.71ID:1d5ZohBo
>>606 whitespace
2017/11/15(水) 00:12:32.03ID:ckRbh5hb
前にも見たなぁ。
609デフォルトの名無しさん
垢版 |
2017/11/15(水) 00:21:09.60ID:edbITJRa
>>606
それじゃプログラム組めないと思うんだが、記号だけの言語みたいなの使えってこと?
2017/11/15(水) 00:30:14.08ID:au/IFdC5
>>606 bhnjdsbkjdsb
_
2017/11/15(水) 00:31:44.60ID:ckRbh5hb
iostreamがすでにアウト。
2017/11/15(水) 01:21:11.75ID:f03ykBDy
>>606
2017/11/15(水) 01:21:50.26ID:f03ykBDy
>>606 Ruby
https://ideone.com/z4vm4F
perlとjavascriptでも殆ど同じことができる
614デフォルトの名無しさん
垢版 |
2017/11/15(水) 01:23:33.97ID:0AqsUHvD
今日は七五三ということで
7,5,3,+,-,×,÷,(),^2を使った式(ただし7,5,3は一個しか使えない)で1から連続でいくつまで数を作れるか

1=3+5-7
2=5-3
3=3
4=(5-3)^2
5=5
6=(7-5)×3
615デフォルトの名無しさん
垢版 |
2017/11/15(水) 06:25:11.32ID:21MTGrxx
^2 もありですか
2017/11/15(水) 11:19:06.80ID:+wQkBp8E
>>613
回答見てもわからない
どういうこと?
2017/11/15(水) 11:36:08.43ID:cnBoJhFE
>>606
Ruby で、

unpacked = "Hello World!!".unpack("c*")
p unpacked
#=> [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 33]

packed = unpacked.pack('c*')
puts packed
#=> Hello World!!
2017/11/15(水) 11:46:46.76ID:f03ykBDy
>>616
特殊変数$$から1を作ってそれをもとに2, 4, 8, 16などを作る
"%c"を繰り返したものをあらかじめ作っておき
そこに上記の数字で作った"Hello World!!"の文字コードをsprintフォーマットする
標準出力を表す特殊変数$>に<<メソッドでできた文字列を出力する

あとは 「"" << 文字コード」で「文字コード.chr」と同様の結果が得られるので適宜利用すると便利
2017/11/15(水) 12:14:35.50ID:GYwcr8MQ
>>617の間抜けさ加減に草
2017/11/15(水) 13:25:57.72ID:YypYHZ3m
>>614
^2 は
int sqr(int n){return n*n;}
みたいな関数が使えるって意味だよね

つまり、
x^2^2 とかは (x^2)^2 の意味で使うなら可能ってことだよね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況