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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2018, 16:45   #1
Temka3791
Пользователь
 
Регистрация: 05.03.2018
Сообщений: 17
По умолчанию Армстронга для n =2; 3; 4.

Натуральное число из n цифр является числом Армстронга, если сумма его цифр,
возведенных в n-ю степень, равна самому числу (153=1+5+3). Получить все числа
Армстронга для n =2; 3; 4.


1. Выделение цифр в числе
Реализация:
readln(number);
while number<>0 do
begin
temp:=number mod 10; {выделение цифры из числа}
number:=number div 10; {уменьшение числа на один разряд}
должно быть три подпрограммы:
1. находит степень цифры числа
2. находит количество цифр в числе
3. находит сумму цифр числа
Я сделала, но не выполняется 2-й пункт


program Armstrong;


var
n, x, min, max, summa, k, l, p: integer;

function stepChis(k, n:integer):integer;
var step:integer;
begin
step:=k;
for l := 2 to n do
step := step * k;
stepChis:=step;
end;

function sumstep(p, n:integer):integer;
var i, l, summa :integer;
begin
summa := 0;
for i := 1 to n do
begin
k:=p mod 10;

summa := summa + stepChis(k,n);
p := p div 10
end;
sumstep:=summa;
end;

begin



for n := 2 to 4 do
begin
writeln('Числа Армстронга для n=', n);

min := 1;
for l := 1 to n - 1 do
min := min * 10;

max := min * 10 - 1;

for x := min to max do
begin

if sumstep(x, n) = x then
writeln(x);
end;
end;
readln;
end.
Temka3791 вне форума Ответить с цитированием
Старый 10.05.2018, 16:50   #2
Temka3791
Пользователь
 
Регистрация: 05.03.2018
Сообщений: 17
По умолчанию

и как написать программу нахождение количества чисел в числе?
Temka3791 вне форума Ответить с цитированием
Старый 10.05.2018, 16:56   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

str - число в строку
length - длина строки и твое количество цифр в числе

можно div 10 использовать без преобразования в строку
Цитата:
153=1+5+3
не-а. 153=1^3+5^3+3^3
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.05.2018, 21:23   #4
Temka3791
Пользователь
 
Регистрация: 05.03.2018
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
str - число в строку
length - длина строки и твое количество цифр в числе

можно div 10 использовать без преобразования в строку
не-а. 153=1^3+5^3+3^3
Спасибо
Temka3791 вне форума Ответить с цитированием
Старый 11.05.2018, 00:15   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

тряхнул стариной...
Вложения
Тип файла: 7z 319753 - числа армстронга.7z (3.26 Мб, 6 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 11.05.2018 в 00:25.
min@y™ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Числа Армстронга _Лето_ Общие вопросы C/C++ 0 09.07.2014 23:11
числа армстронга m00nJinn Общие вопросы C/C++ 1 09.12.2011 21:27
Числа Армстронга KOMPNET Помощь студентам 6 09.10.2011 02:55
Аксиомы Армстронга Mikuro Общие вопросы по программированию, компьютерный форум 0 08.10.2011 19:38
нахождение чисел Армстронга kabum13 Microsoft Office Excel 5 29.12.2010 14:45