結果

問題 No.1595 The Final Digit
ユーザー horiesinitihoriesiniti
提出日時 2023-02-15 01:52:57
言語 Ruby
(3.3.0)
結果
AC  
実行時間 90 ms / 2,000 ms
コード長 457 bytes
コンパイル時間 122 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-07-17 13:07:39
合計ジャッジ時間 2,785 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 88 ms
12,160 KB
testcase_01 AC 90 ms
12,160 KB
testcase_02 AC 88 ms
12,032 KB
testcase_03 AC 87 ms
12,160 KB
testcase_04 AC 88 ms
12,288 KB
testcase_05 AC 88 ms
12,032 KB
testcase_06 AC 89 ms
12,032 KB
testcase_07 AC 86 ms
12,288 KB
testcase_08 AC 87 ms
12,032 KB
testcase_09 AC 87 ms
12,160 KB
testcase_10 AC 87 ms
12,160 KB
testcase_11 AC 87 ms
12,288 KB
testcase_12 AC 87 ms
12,032 KB
testcase_13 AC 86 ms
12,160 KB
testcase_14 AC 90 ms
12,288 KB
testcase_15 AC 90 ms
12,160 KB
testcase_16 AC 88 ms
12,032 KB
testcase_17 AC 87 ms
12,160 KB
testcase_18 AC 86 ms
12,160 KB
testcase_19 AC 88 ms
12,288 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

def f()
hs={}
p1,q1,r1,k1=gets.split(" ").map{|e| e.to_i}
p1,q1,r1=[p1,q1,r1].map{|e| e%10}
s1=(p1+q1+r1)%10
i=0
while hs.member?(p1*1000+q1*100+r1*10+s1)==false do
	hs[p1*1000+q1*100+r1*10+s1]=i
	if (i+4==k1) then
		puts s1
		return 
	end	
	p1,q1,r1=q1,r1,s1
	s1=(p1+q1+r1)%10
	i+=1
end
p2=hs[p1*1000+q1*100+r1*10+s1]
k1=(k1-4-p2)%(i-p2)
hs={}
while true do
	if (k1<=0) then
		puts s1
		return 
	end	
	p1,q1,r1=q1,r1,s1
	s1=(p1+q1+r1)%10
	k1-=1
end
end
f()
0