表を転置してふるい分ける
r 行 c 列の整数の表が与えられる。
ループの代わりに内包表記で次の三つを作って出力せよ。
1) 転置した表:元の表の j 列目(上から下へ)が新しい表の j 行目になる。
c 行にわたり、1 行に r 個ずつ空白一つで区切って出力する。
2) 3 の倍数の二乗:表を上の行から、行の中では左から読み、3 の倍数(0 と負の数を含む)だけを選んで二乗する。
選んだ個数 k を先に書き、続けて二乗した値 k 個を読んだ順に、1 行に空白で区切って出力する。
一つもなければ 0 だけを出力する。
3) 表に現れる異なる値の個数を出力する。
- 入力
- 1 行目に r c、続く r 行に整数 c 個ずつ。
1 ≤ r, c ≤ 50、-1000 ≤ 値 ≤ 1000 - 出力
- 転置した表 c 行、次の行に k と二乗 k 個、最後の行に異なる値の個数
2 3 1 3 -6 4 9 3
1 4 3 9 -6 3 4 9 36 81 9 5