ワイルドキーボード
締め切りが 2017/02/09 10:00 AM なので,その 1 分後に投稿されるように予約
設問
「バイッ!ナッッリ!」
(01の2進数だけで構成された文字列を、ASCII文字列のバイナリ表記とみなして、元のテキストに戻して欲しい。)
【入出力サンプル】
例1)
STDIN
011000010110001000001010
STDOUT
ab
例2)
STDIN
01100001000010100110001000001010
STDOUT
a
b
========================================
R は簡単でいいなぁ
関数が入れ子になるのもカッチョイイと思う
readLines(file("stdin", "")) は,標準入力から入力する
cat(intToUtf8(matrix(as.integer(unlist(strsplit(readLines(file("stdin", "")), ""))), ncol=8, byrow=TRUE) %*% 2^(7:0)))
スーパー素数
締め切りが 2017/02/09 8:00 AM なので,その 1 分後に投稿されるように予約
仕様
標準入力で指定された数値を元に N 番目のスーパー素数を表示してください。
スーパー素数とは
スーパー素数とは素数の数列の素数番目の要素で構成される数列である。
例
3, 5, 11, 17, 31, 41, 59, 67, 83, 109, 127, ...
標準入力
数値(1-2017)の範囲の整数が入力されます
標準出力
標準入力番目のスーパー素数を出力する
その他の仕様
・標準入力の末尾には改行があります
・標準出力の末尾に改行をつけてください
・標準入力の仕様で説明した内容以外の入力は行われません(不正入力に対するチェックは不要)
==========================
f = function(N, mx = 2e+05) {
tbl = 1:mx
tbl[1] = 0
for (i in 2:floor(sqrt(mx))) {
if (tbl[i]) {
mx2 = mx%/%i
tbl[2:mx2 * i] = 0
}
}
prime = tbl[tbl > 0]
a = prime[prime]
b = a[!is.na(a)]
b[N]
}
cat(f(2), "\n") # 5
cat(f(30), "\n") # 617
cat(f(2017), "\n") # 194591