[過去ログ] プログラミングのお題スレ Part17 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
234
(5): 2020/04/19(日)01:15 ID:kCjisW+o(1/2) AAS
お題:マップの縮尺から画面の縮尺バーの長さを求めろ。

縮尺は、現実:画面 = 1:s
バーの長さは100以上で出来るだけ短くする。
バーの現実での長さの数値は 1, 2, 5 が頭にきて以降は0のみが続くもののみ許される。(1桁なら0がなくても良い)

例:
s = 0.003 → 150
0.01 → 100
0.4 → 200
0.96 → 192
235: 2020/04/19(日)06:41 ID:J81tNU7x(1/2) AAS
>>234
問題がよくわからない。
237: 2020/04/19(日)07:38 ID:aJCN2KvM(1) AAS
>>234
scheme
外部リンク:ideone.com
250
(1): 2020/04/19(日)18:05 ID:3h7RKaJW(1) AAS
>>234 Perl5 (問題の意図をくみ取り違えていなければ、下記で良い筈…ただし実の距離が一桁以下の場合はNGかも…)

for $s (qw{0.003 0.01 0.4 0.96}) {
 $d = 1;
 while ($s * $d < 10) { $d *= 10 }
 if (50 <= ($s * $d)) {
  $d *= 2;
 } elsif (20 <= ($s * $d)) {
  $d *= 5;
 } else {
  $d *= 10;
省9
252: 2020/04/20(月)06:02 ID:C+lKY/AM(1) AAS
>>234 Ruby
def scale( s )
i = (100.0 / s).ceil
j = 100 * 10 ** - Math.log10( s ).to_i
s * j * [ 1, 2, 5 ].each{|k| break k if i <= k * j; 10 }
end

[ 0.003, 0.01, 0.4, 0.96 ].each{|x| puts "%-6g → %d" % [ x, scale(x) ] }
412: 2020/04/29(水)21:05 ID:HpBd3h/I(4/4) AAS
>>234
Java
外部リンク:paiza.io
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.225s*