Feragatname: Bir süredir eğlence amaçlı bu sitede bulunduğum süre zarfında, bu benim ilk sorum, bu yüzden lütfen küçük hataları affedin.
Arka fon
Bize ödev verirken öğretmenim gerçekten can sıkıcı ve bireysel olarak yapmamız gereken bütün sorunları yazıyor . Bu nedenle, hangi sorunları yapmam gerektiğini kopyalamam sonsuza dek sürüyor . Hayatımı kolaylaştıracağını düşündüm, ona sorun listesini daha az yer kaplayacak bir program gönderirdim.
Bir sayfa veya sorun numarası listesi yazarken, bir aralığı belirtmek için bir çizgi kullanırız. Örneğin, 19-21
olur 19, 20, 21
. Arada bir boşluk varsa, iki virgülle ayrılmış aralık kullanılır: 19-21, 27-31
olur 19, 20, 21, 27, 28, 29, 30, 31
.
Tam şimdi, muhtemelen şöyle düşünüyorsunuz: "Bu oldukça önemsiz görünüyor". Aslında, bu zaten burada ve burada cevaplandı .
Ancak, bir yakalama var. Ardışık basamak sayıları olan bir aralığımız varsa, tekrarlanan sayılar bırakılabilir. Örneğin: 15, 16, 17
olur 15-7
ve 107, 108, 109
olur 107-9
. Bir bonus için, son ardışık eşit basamak 1 büyükse ve üst sınırın son basamağı alt seviyeye eşit ya da ondan küçükse, aşağıdakiler atlanabilir: . 109-113
olur 109-3
bir alt son basamak 10s yer artırılması da anlaşılacağı gibi,.
Meydan okuma
Programınız girdi yoluyla bir tamsayı listesi almalıdır (diliniz veya işleviniz için standart olan ne). Bu listenin virgülle ayrılmış, boşlukla ayrılmış mı yoksa gerçek bir liste / dizi mi olduğuna karar verebilirsiniz.
Bu gösterimi kullanarak bu listeyi temsil etmek için en kısa yoldan çıkın (önce aralık sayısına, ardından aralıklara dahil edilen karakterlerin toplamına göre sıralanır). Her kesikli aralık aynı satırda olmalıdır, ancak aralıklar virgül veya yeni satırlarla ayrılabilir (izleyen yeni satırlara veya virgüllere izin verilir). Bu aralıklar sıralı olmalıdır.
Okulumuzda Wi-Fi korkunç olduğu için, dosyayı göndermek için dosyayı mümkün olduğunca küçük hale getirmeliyim. En kısa kod (bayt cinsinden) kazanır.
Bonuslar
Öğretmenim özensiz, bu yüzden ona yardım edebilecek birkaç şey var. Birden fazla bonus çarpma işlemiyle toplanır, örneğin% -10 bonus (x% 90) ve% -25 (x% 75) bonus =% 90 *% 75 = x% 67.5 (% -32.5 bonus).
- Bazen onları yanlış sıraya koyuyor (matematik öğretmeni değil). Programınız en küçükten büyüğe sıralanmayan tamsayıları kabul edebiliyorsa% -20 bonus alın.
- Kitabımız garip ve her bölüm -10'da saymaya başlıyor. Programınız negatif sayıları kabul edebiliyorsa% -25 al.
- O 10'un yerini artan bir alt son rakamdan, örneğin ikramiye kabul ederse
25-32
etmek azaltarak25-2
, bir -50% bonus alır.
Test Kılıfları
In: 1, 2, 3, 4, 5
Out: 1-5
In: 3, 4, 5, 9, 10, 11, 12
Out: 3-5, 9-12
In: 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160
Out: 149-60
In: 1 2 3 4
Out: 1-4
For bonuses:
In: 109, 110, 111, 112, 113
Out: 109-3
In: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
Out: 19-9
In: -3, -2, -1, 0, 1, 2
Out: -3-2
In: -3, -2, -1
Out: -3--1
19 Aralık 2015 Cumartesi günü bir cevap kabul edilecektir.
GLHF!
149 150 151 152 153 154 155 156 157 178 159 160
?
19-9
için 19,20,...,29
değil, 19-29
metin anlaşılacağı gibi. Peki hangisi doğru?
1-4 9-2
?