[過去ログ] プログラミングのお題スレ 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*