Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Кругляши

(Время: 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);

[Обсуждение] [Все попытки] [Задача]


Красноярский краевой Дворец пионеров, (c)2006 - 2017, ICQ: 151483