【問題】jus共催 第46回人類はおそらくシェル芸に仕事を奪われるか奪われないかのどちらかであるシェル芸勉強会

Sat Feb 15 13:09:03 JST 2020 (modified: Sat Feb 15 15:09:31 JST 2020)
views: 1093, keywords: プログラミング,勉強会,シェル芸,シェル芸勉強会

  このエントリーをはてなブックマークに追加 
  • 問題で使われているデータファイルはGitHubにあります。クローンは以下のようにお願いします。

Q1

 次のようなデータがあります。

$ cat data 
32 -12 42 -4 3 34 32 9 22 24 25 19 18 -14 -4

これを、次のように1列目に十の位、2列目に一の位の数を並べた表現(幹葉表示)に変換してください。

-0 44
 0 39
 4 2
-1 24
 3 224
 2 245
 1 89

Q2

 次のdata2は、1列目のデータに対して2列目にチェック用のビットを書き込んであるファイルです。 2列目の左右のビットがそれぞれ1列目の0と1の数の偶奇を表しており、 偶数なら0、奇数なら1になっています。1列目と2列目の整合性がとれていない行の番号を出力してください。

$ cat data2
0101010110101010101101010101101010101 10
0100000000010101010110101010101011101010 11
101011010101011010101010101010101010100101 00
010110101010111111111110101010101110 01
011010101010110101010101010101010 01

Q3

 次のファイルについて、1〜3列目の3行、4〜6列目の3行をそれぞれ3x3行列とみなして掛け算してください。

$ cat matrix
3 4 -2 1 -9 4
3 -1 2 3 -2 -8
2 5 6 0 2 -3

Q4

 A, B, C, Dの4種類の文字を2つにグループ分けするときの全通りのパターンを列挙してください。各グループかならず一つの文字が入っている(空集合を認めない)こととします。

Q5

 次のような出力(パスカルの三角形)を得てください。完全に左右対称である必要はありませんが、なるべく左右対称にしてください。

            1
           1 1
          1 2 1
         1 3 3 1
        1 4 6 4 1
      1 5 10 10 5 1
     1 6 15 20 15 6 1
   1 7 21 35 35 21 7 1
  1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

Q6

 次のファイル内のそれぞれ数字について、上の桁の数からそれぞれ10, 9, 8, ..., 1をかけて総和を求めましょう。例えば4065170060なら4*10 + 0*9 + 6*8 + ... + 0*1を計算してください。さらに、それぞれの行で求めた数について、最大公約数を求めてください。

$ cat isbn
4065170060
4774173444
4822239292
4048930699
4839952981
4839924015

Q7

 41人を円形に並べ、1, 2, 3, 4, ..., 41番と番号をつけます。そして、生き残っている3人ごと(最初は3番, 6番, 9番, ...)の順に殺していきます。最後に残る二人は何番になるか、ワンライナーで答えてください。(ヨセフスの問題)

Q8

 SEND + MORE = MONEYの各アルファベットに0から9の数字1字を割り当てて足し算を完成させてください。異なるアルファベッドには異なる数字を割り当ててください。SMには0を割り当てないでください。答えが分かるものであれば出力はなんでも構いません。



prev:日記(2020年1月22日) next:【問題と解答】jus共催 第46回人類はおそらくシェル芸に仕事を奪われるか奪われないかのどちらかであるシェル芸勉強会





このサイトではGoogle Analyticsやその他ソーシャルボタンのためにCookieを使用しています。もし同意いただけない場合はブラウザでクッキーを無効にして閲覧をお願いします。This site uses cookies for Google AdSense and some social buttons. If you cannot accept our use of cookies, please disable cookies on your browser.