Tanım
Sonsuz birleştirilmiş doğal sayı dizisi vardır (1 ile başlayan pozitif tamsayılar):
1234567891011121314151617181920212223...
Meydan okuma
- Herhangi bir dilde program yazınız, pozisyon numarasını bir giriş olarak kabul eder ve yukarıda belirtilen satırda bu pozisyondan rakam çıkarır.
- Konum numarası rastgele boyut pozitif tamsayıdır. Bu birinci konum 1, çıkış basamağı '1'
- Giriş, ondalık sayıya (örn., 13498573249827349823740000191) ya da pozitif tamsayıya karşılık gelen e-notasyonda (örn. 1.2e789).
- Programın giriş süresi olarak çok büyük bir indeks verilmiş olarak (modern PC / Mac'te 10 saniye) makul bir süre içinde bitmesi gerekir (örn. 1e123456 - bu, 123456 sıfıra sahip 1'dir). Bu nedenle, basit yineleme döngüsü kabul edilemez.
- Herhangi bir geçersiz giriş yapılırsa, Program 1 sn'de bir hatayla sonlandırılmalıdır. Örneğin. 1.23e (geçersiz) veya 1.23e1 (12.3'e eşittir - bir tamsayı değil)
- Sayıları ayrıştırmak / saklamak ve üzerlerinde basit matematiksel işlemler yapmak için herkese açık BigNum kütüphanesini kullanmak sorun değil (+ - * / exp). Bayt cezası uygulanmadı.
- En kısa kod kazanır.
TL; DR
- Giriş: bignum tamsayı
- Çıktı: sonsuz satırda bu konumda rakam
123456789101112131415...
Bazı kabul testi durumları
gösterimde "Giriş: Çıkış". Hepsi geçmeli.
- 1: 1
- 999: 9
- 10000000: 7
- 1e7: 7 (yukarıdaki satırla aynı)
- 13498573249827349823740000191: 6
- 1.1e10001: 5
- 1e23456: 5
- 1.23456e123456: 4
- 1e1000000: 0
- 1.23e: hata (geçersiz sözdizimi)
- 0: hata (sınırların dışında)
- 1.23e1: hata (bir tamsayı değil)
Bonus!
Sayının içindeki çıktı hanesi konum numarası ve çıktı sayısının kendisi. Örneğin:
13498573249827349823740000191: 6 24 504062383738461516105596714
- Bu, '50406238373846151610559 6 714' sayısının 24 konumundaki '6' rakamıdır.
1e1000000: 0 61111 1000006111141666819445...933335777790000
- Rakam '0' konumundaki 61111 999995 basamaklı uzun sayı Buraya dahil olmayacağım.
Bonus görevi yerine getirirseniz, kodunuzun boyutunu 0,75 ile çarpın
Kredi
Bu görev, 2012 yılında devclub.eu toplantılarından birinde çok sayıda gereklilik olmaksızın verilmiştir. Bu nedenle, gönderilen cevapların çoğu önemsiz döngüler oldu.
İyi eğlenceler!
1.23456e123456
bu tür değerleri doğal olarak işleyemeyen dilleri keyfi bir şekilde cezalandırır ve zorlu görev için teğet olan dizgi işlemleri yapmalarını gerektirir.