Kurulum:
Bir sosyal ağ, bir yayının sahip olduğu oy sayısını iki şekilde bildirir : net upvotes (toplam upvotes - toplam downvotes) ve upvotes olan oyların yüzdesi , en yakın tamsayıya yuvarlandı (.5 mermi). Net upvotes sayısı bir tamsayıdır (mutlaka pozitif değil) ve ikincisinin 0 ile +100 arasında bir tamsayı olduğu garanti edilir. Upvotes ve downvotes hem sıfır hem de pozitif 32 bit tamsayılardır (imzalı veya imzasız belirleyebilirsiniz). Toplam oy toplamı sıfırsa, oylanan yüzde sıfır olarak rapor edilir.
Meydan okuma:
Bu iki tamsayı göz önüne alındığında (net upvotes ve% upvoted), yazabileceğiniz en kısa program nedir ve bu da alınan tüm upvotların en düşük sayısını belirleyerek yukarıdaki tüm kısıtlamaları karşılar mı?
Giriş kısıtlamaları garanti edilir. Giriş yukarıdaki kısıtlamaları karşılamıyorsa, program davranışı size bağlıdır. Sonsuz bir döngü veya başka bir çökme girmezse bonus kudos. Daha fazla rehberlik istiyorsanız negatif bir sayı döndürmeyi düşünün.
Genel kurallar:
- Bu kod golf , bu nedenle (bayt cinsinden ölçülen) en kısa geçerli çözüm kazanır.
- Kod golf dillerinin, kod yazmayan dillerle yanıt göndermenizi engellemesine izin vermeyin. Herhangi bir programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. Javascript gibi bir istemci tarafı Web dili için bonus kudos.
- Birden çok dilde ilginç çözümleriniz varsa, bunları ayrı olarak gönderin .
- Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyonlar / yöntem, uygun parametreler ve dönüş tipi veya tam programlar ile kullanılabilir. Çağrınız.
- Varsayılan boşluklar yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, lütfen kodun nasıl çalıştığına dair bir açıklama ekleyin.
- Eğer bir tamsayı bölme işlemini yapıyoruz eğer unutmayın o kesikler (örneğin 20 = 3/6) yerine mermi , o kudreti tam olarak doğru olmayabilir.
- Yukarıdaki kısıtlamalarda son durumları araştıran ek test senaryoları kabul edilir.
- Beklenen dönüş türü sayısal olsa da , 0 yerine boole "false" kullanılabilir .
Örnek test örnekleri:
İlk sütun, tartışmayı kolaylaştırmak için dahil edilen bir referans numarasıdır.
ref net %up answer
1 0 0 => 0
2 -5 0 => 0
3 -4 17 => 1
4 -3 29 => 2
5 -2 38 => 3
6 -1 44 => 4
7 0 50 => 1
8 5 100 => 5
9 4 83 => 5
10 3 71 => 5
11 2 63 => 5
12 1 56 => 5
13 1234 100 => 1234
14 800 90 => 894 (tip: don't refer to this as the "last test case;" others may be added.)
1000, 100. Beklenen cevabın olduğunu teyit edebilir misiniz 1000?