技術力をスコア化して市場価値をチェックしてみませんか?PR

ブログやSNSのアウトプットをAIが分析。技術力の順位を算出!自分の市場価値を測ってみませんか?

2
0

[C言語][小ネタ]しかのこのこのここしたんたん

Last updated at Posted at 2024-08-25

はじめに

@pikさんの公開された記事『[Delphi][小ネタ]しかのこのこのここしたんたん』のC言語版です。

問題へのリンク:

実際書いてみたコード

101バイト
main(i){for(;++i<72;)printf("%.*s",3+3*(377>>i%7*2&3),"しかのこたん""\n"+3*(107556>>i%7*3&7));}
実行結果
しかのこのこのここしたんたん
しかのこのこのここしたんたん
しかのこのこのここしたんたん
しかのこのこのここしたんたん
しかのこのこのここしたんたん
しかのこのこのここしたんたん
しかのこのこのここしたんたん
しかのこのこのここしたんたん
しかのこのこのここしたんたん
しかのこのこのここしたんたん

とりあえずのたたき台的なやつです。もっと短くできる書き方があれば更新していきたいと思います。
文字コードはUTF-8を想定しておりひらがな1文字を3バイトで計算しています。

しかのこのこのここしたんたん≪改行≫✕10を、"しかのこたん"という文字配列一つから生成せよ

という問題内容からは改行の仕方がインチキくさいことは自覚しています。

1文字づつ出力したほうが短かった(8/25追記)

92バイト
main(i){for(;++i<152;)printf("%.3s","しかのこたん""\n"+3*(20619507376693>>i%15*3&7));}

おわりに

おわりです

2
0
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Comments

fujitanozomu
@fujitanozomu(藤田 望)
(Edited)

Pythonの練習

87バイト
for i in range(150):print(("しかのこたん"+"\n")[29459237938824>>i%15*3&7],end="")

0
fujitanozomu
@fujitanozomu(藤田 望)

Rubyの練習

75バイト
5.upto(154){|i|print(("しかのこたん"+"\n")[1876150217516>>i%15*3&7])}

0
fujitanozomu
@fujitanozomu(藤田 望)

Ruby、printに()要らんかったので修正。

74バイト
5.upto(154){|i|print ("しかのこたん"+"\n")[1876150217516>>i%15*3&7]}

0
fujitanozomu
@fujitanozomu(藤田 望)

Python、スライスをつなげる方が短いかな。

76バイト
s="しかのこたん";print(*10*[s[:4]+2*s[2:4]+s[3::-3]+2*s[4:]],sep="\n")

0
eufss0183
@eufss0183
s="しかのこたん";print(*10*[s[:4]+2*s[2:4]+s[3::-3]+2*s[4:]],sep="\n")

これだと10行目末尾に改行が入らないかと。

0

Let's comment your feelings that are more than good

Being held Article posting campaign

2
0

Login to continue?

Login or Sign up with social account

Login or Sign up with your email address