задача 21 деление без остатък
условието на задачата е:
Четвърта задача от междинния изпит на 26 март 2016. Тествайте решението си тук.
Дадени са n цели числа в интервала [1…1000]. От тях някакъв процент p1 се делят без остатък на 2, друг процент p2 се делят без остатък на 3, друг процент p3 се делят без остатък на 4. Да се напише програма, която изчислява и отпечатва процентите p1, p2 и p3.
Пример: имаме n = 10 числа: 680, 2, 600, 200, 800, 799, 199, 46, 128, 65. Получаваме следното разпределение и визуализация:
Деление без остатък на: |
Числа в диапазона |
Брой числа |
Процент |
2 |
680, 2, 600, 200, 800, 46, 128 |
7 |
p1 = 7.0 / 10 * 100 = 70.00% |
3 |
600 |
1 |
p2 = 1 / 10 * 100 = 10.00% |
4 |
680, 600, 200, 800, 128 |
5 |
p3 = 5 / 10 * 100 = 50.00% |
Вход
На първия ред от входа стои цялото число n (1 ≤ n ≤ 1000) – брой числа. На следващите n реда стои по едно цяло число в интервала [1…1000] – числата които да бъдат проверени на колко се делят.
Изход
Да се отпечатат на конзолата 3 реда, всеки от които съдържа процент между 0% и 100%, с точност две цифри след десетичната точка, например 25.00%, 66.67%, 57.14%.
- На първият ред – процентът на числата които се делят на 2
- На вторият ред – процентът на числата които се делят на 3
- На третият ред – процентът на числата които се делят на 4
Примерен вход и изход
Вход |
Изход |
|
Вход |
Изход |
10 680 2 600 200 800 799 199 46 128 65 |
70.00% 10.00% 50.00% |
3 3 6 9
|
33.33% 100.00% 0.00% |
задачата я реших със следния код http://pastebin.com/CPnXFbXa - в случая само с if { } конструкции една след друга
а преди това я написах с if else и не работеше правилно - следния код -http://pastebin.com/BkNwpTej
може ли да ми обясните защо в тази задача работи правилно само с if във for цикъла, а if else дава непълно решение
Ето един прост пример:
в условието на задачата пишеше, че трябва да има 2 цифри след запетаята в крайният резултат и затова използвах double, или бъркам?
Здравей,
Имам предвид числото, което ти показва колко числа ще имаш след него. Един вид 1вото число да е инт, вече другите n числа е правилно да са double.
EDIT: dilqna9 е права.
Поздрави!