Bu benim ilk sorum, umarım iyi gidiyor.
Arka fon:
Düşündüğünüz nehirler değil. Soru, dijital nehir kavramı etrafında dönüyor. Dijital bir nehir sayısı aşağıdaki bir sayı dizisi n
olup n
artı basamak toplamıdır.
Açıklama:
12345 12360 1 beri + 2 + 3 + 4 + 5 = 15 izledi ve böylece 12345 + 15 dijital nehrin ilk sayı ise 12360. Benzer 145 155 ile izlemektedir verir M
biz nehir var arayacak M
.
Örneğin: 480 nolu nehir {480,492,507,519 ....} ile başlayan dizidir ve 483 nolu nehir (483,498,519, ....} ile başlayan dizidir. Normal akışlar ve nehirler buluşabilir ve aynı şey dijital nehirler için de geçerlidir. Bu, iki dijital nehir aynı değerlerden bazılarını paylaştığında olur.
Misal:
480 nehri 519'da 483 nehri ile buluşur. 480 nehri 507'de 507 nehri ile hiçbir zaman 481 nehri ile buluşmaz. Her dijital nehir nihayetinde 1 nehri, 3 nehri veya 9 nehri ile buluşur.
Belirli bir tamsayı n
için nehrin n
bu üç nehirden biriyle buluştuğu değeri belirleyebilecek bir program yazın .
Giriş
Giriş, birden fazla test durumu içerebilir. Her test durumu ayrı bir satır kaplar ve bir tamsayı n
( 1 <= n <= 16384
) içerir . Değerine sahip bir test durumu 0
için n
giriş sona erer ve bu test durumda işleme edilmemelidir.
Çıktı
Girişteki her test durumu için ilk önce örnek çıkışında gösterildiği gibi test durumu numarası (1'den başlayarak). Sonra ayrı bir satırda "ilk önce y'de x nehri ile buluşur" satırı çıkar. Burada y, nehrin n
ilk önce nehirle buluştuğu en düşük değerdir x
(x = 1 veya 3 veya 9). n
Nehir x
, y
birden fazla değerinde nehri karşılarsa x
, en düşük değeri çıktılayın. Art arda iki test durumu arasında boş bir satır yazdırın.
Test durumu
Giriş:
86
12345
0
Çıktı:
Case #1
first meets river 1 at 101
Case #2
first meets river 3 at 12423
puanlama:
En hızlı algoritma kazanır. Beraberlik durumunda. Kısa kodlu olan kazanır.
Benim hata işaret için mbomb007 teşekkürler .
ps: En küçük çözüm yerine en hızlı çözüme sahip olmak istiyorum. Benim de yavaş olan bir çözümüm var. Bunun için buraya bak .
Not:
Ben kullanıyor olacaktır bu kod test için. Ve performans kontrolü.
M
ona nehir diyeceğizM
" iki nedenden dolayı mantıklı gelmez: Birincisi, eğer bir nehir sonsuz bir sayı dizisiyse, o zaman bir son basamağı yoktur; ve ikincisi, bir sonraki paragrafta nehirM
, sayıdan başlayan nehir anlamına gelir M
.