Кругляши
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Это достаточно простая задача, если Вы умеете работать со строкой как с массивом символов. Дело в том, что решение, подразумевающее чтение в целочисленную переменную любого стандартного целого типа не является правильным, т.к. никакой стандартный тип не предназначен для хранения длинных чисел, состоящих из 101 цифры (максимально возможное число согласно ограничениям задачи может быть равно 10100).
При решении этой задачи многие не понимают: что же такое "кругляши" и как их считать? Под "кругляшами" тут понимаются замкнутые контуры в цифрах. Например, в цифре 8 их два, а в цифрах 0, 6 и 9 только один, а во всех других их вообще нет. Поэтому для решения этой задачи можно в цикле пробежать по всем цифрам заданного числа и добавить соответствующее значение к некоторой переменной, которую предварительно следует обнулить.
Решение этой задачи может быть представлено следующим алгоритмом:
int c=0;
String s;
read(s);
for i=1..len(s){
if(s[i]=8) c=c+2;
if(s[i]=0 or s[i]=6 or s[i]=9) c=c+1;
}
write(c);
|