Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2010, 15:51   #1
decantnik
Пользователь
 
Аватар для decantnik
 
Регистрация: 15.10.2008
Сообщений: 36
По умолчанию Сумма цифр чисел, принадлежащих промежутку [1..100000]

Номер анкеты туриста, посещающего островное государство Айланд, представляет собой семизначное число от 0000001 до 1000000. Вы можете стать обладателем бесплатной въездной визы в этот райский уголок, если решите несложную головоломку. Условие задачи таково: если сложить все цифры в номере анкеты, то получится новое число. Далее нужно сложить все цифры во вновь полученном числе. Процесс следует продолжать до тех пор, пока в результате не получится однозначное число.
Каких чисел получится больше всего, если указанную процедуру проделать над всеми возможными в Айланде номерами анкет?
decantnik вне форума Ответить с цитированием
Старый 10.03.2010, 15:59   #2
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

получится больше всех единиц, это легко доказывается
а насчет условия задачи я не понял, вот посчитал ты цифры и что дальше?
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 10.03.2010, 17:04   #3
decantnik
Пользователь
 
Аватар для decantnik
 
Регистрация: 15.10.2008
Сообщений: 36
По умолчанию

395 -> 3+9+5 -> 17 -> 1+7 -> 8

Потом сравнить полученные цифры, и вывести соответствующие цифрам числа.. Вроде так.
decantnik вне форума Ответить с цитированием
Старый 10.03.2010, 18:07   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
var
  i, k : longint;
  a : array[1..9] of longint;

function SumDigit(Num:longint):integer;
var
  MySum : integer;
  OneDigit : longint;
begin
  repeat
    MySum := 0;
    while Num>0 do begin
        OneDigit := Num mod 10;
        Num := Num div 10;
        MySum := MySum + OneDigit;
    end;
    if MySum>9 then Num := MySum;
 until MySum < 10;
 SumDigit := MySum;
end;

begin
  for i:=1 to 9 do a[i] := 0;

  for i:=1 to 1000000 do  begin
    k := sumDigit(i);
    inc(a[k]);
  end;
  WriteLn('----------------');
  for i:=1 to 9 do Writeln(i:3,' count = ',a[i]);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.03.2010, 15:16   #5
decantnik
Пользователь
 
Аватар для decantnik
 
Регистрация: 15.10.2008
Сообщений: 36
По умолчанию

Спасибо.. Сейчас постараюсь разобраться
decantnik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сумма цифр числа... Dimak67 Microsoft Office Excel 5 09.04.2010 00:46
Сумма цифр из числа. AlterNatioN Фриланс 5 02.03.2010 21:18
Сумма цифр числа в ячейке Arlen Microsoft Office Excel 9 16.05.2009 12:10
сумма цифр целого числа mihsel Microsoft Office Excel 8 13.04.2009 13:57
Натуральное число, в записи которого п цифр, называется числом Армстронга, если сумма его цифр, возведенн OTLi4HO Общие вопросы C/C++ 6 14.01.2009 19:48