Отправляет email-рассылки с помощью сервиса Sendsay

Дистанционное обучение

  Все выпуски  

Уроки и методика преподавания информатики для учителей решение очередной задачи www.thl.narod.ru


Сегодня хочпредложить очередную задачу
Распечатать числовую последовательность, которая задается по следующим правилам:
- первое число последовательности - натуральное число, кратное 3 (входной параметр задачи);
- каждый последующий элемент равен сумме кубов цифр предыдущего.
Например:
33
33+33=54
53+43=189
13+83+93=1242
13+23+43+23=81
83+13=513
53+13+33=153
Вычисления прекратить, когда очередной элемент последовательности станет равен 153. (Известно, что любая такая последовательность рано или поздно приводит к 153).
На каждом шаге данного алгоритма приходится разбивать целое число на отдельные цифры (причем количество цифр в числе неизвестно). Это можно выполнить, используя операции целочисленной арифметики (деления нацело - div и остатка от деления - mod). Процесс вычисления очередного члена последовательности p через предыдущий в рассматриваемой задаче будет иметь следующий вид (s и p1 - рабочие переменные, t - очередная цифра числа):
s:=0; p1:=p;
while p1<>0 do
begin
t:=p1 mod 10;
p1:=p1 div 10;
s:=s+t*t*t;
end;
p:=s;

если у Вас есь свои методы ршения данной задачи я готов не только их выслушать но и опубликовать. Если у кого то появилось желание
представить задачу (с решением или без) тоже присылайте - опубликую.

В избранное