Олимпиады по информатике (ХМАО - Югра)

   
 
Югорский НИИ ИТ, Югорский ФМЛ
Логин:   Пароль:    
 
   
 
Новости
О проекте
Регистрация
Гостевая книга
Форум
Архив задач
Состояние системы
Олимпиады
Работа в системе
Рейтинг
Новичкам
Методическое пособие
Дистанционное обучение
Дистрибутивы
Ссылки

















Гадание

(Время: 1 сек. Память: 16 Мб Сложность: 13%)

Для решения этой задачи можно организовать перебор всех возможных чисел от 1 до n (делитель числа n не может быть больше самого n) и проверить каждое из них на делимость. Каждый раз при нахождении очередного делителя его следует прибавлять к некоторой целочисленной переменной s, которую предварительно следует обнулить. Является ли делитем число k для n проверить можно с помощью вычисления остатка от деления: число k - делитель числа n тогда и только тогда, когда n mod k = 0 (остаток от деления n на k равен нулю, в языке Си вместо n mod k пишут n % k).

Решение этой, довольно простой задачи, в алгоритмической записи может выглядеть так:

  int n,k,s=0;

  for k=1..n{
    if(n mod k = 0) s = s+k;
  }
 
  write(s);

[Все попытки] [Задача]


 
     
Югорский НИИ ИТ, Югорский ФМЛ