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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2012, 21:34   #1
Lena1808
Новичок
Джуниор
 
Регистрация: 16.05.2012
Сообщений: 2
По умолчанию Задачи в ТурбоПаскаль: найти числа Армстронга и просуммировать числа в последовательности номера которых простые числа

1. Числом Армстронга называется целое n-значное число, сумма n-х степеней цифр которого равна самому этому числу. Например, числом Армстронга является число 407, так как 407 = 4 в 3 степени + 0в 3 степени + 7 в 3 степени. Найдите все числа Армстронга для заданного n <= 10.
2. Дана последовательность из не менее двух чисел, за которой следует ноль. Вычислить сумму тех из них, порядковые номера которых – простые числа.



_________
Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться,
а автор такой темы получать штрафы.

Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 17.05.2012 в 09:19.
Lena1808 вне форума Ответить с цитированием
Старый 17.05.2012, 08:00   #2
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

проверьте код
Код:
{1. Числом Армстронга называется целое n-значное число,
сумма n-х степеней цифр которого равна самому этому числу.
Например, числом Армстронга является число 407,
так как 407 = 4 в 3 степени + 0в 3 степени + 7 в 3 степени.
Найдите все числа Армстронга для заданного n <= 10.
}
uses crt;

// функция проверки числа Армстронга;
    Function GetShisloAmstrong(Value:integer):boolean;
      var a1,x,y:integer;
      m:array [1..10] of byte;
      sum:integer;
    begin
    a1:=value;
    y:=1;
    sum:=0;
       while (a1 div 10) <> 0 do begin
          m[y]:=a1 mod 10; // массив чисел
          a1:=a1 div 10;
          Y:=y+1;
       end;
          m[y]:=a1 mod 10;
          // определяем кол-во числе в числе
          for X:=1 to y do
           sum:=sum+round(power(m[x],y));
          GetShisloAmstrong:=sum=value;
    end;
var n,x:integer;
     first:boolean;
Begin
Clrscr;

  for n:=1 to 10 do begin first:=true;
  for X:=round(power(10,n-1)) to round(power(10,n)) do begin

    if GetShisloAmstrong(x) then begin
     if first then writeln('Для N = ',n);
     first:=false;
    writeln(x);
    end;
    end;
  end;
  
end.
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести числа, из диапазона от n до m у которых, количество единичных разрядов в двоичном представлении числа нечетно sheff123 Помощь студентам 8 05.01.2012 15:35
Найти числа произведение которых самое большое Arn1 Помощь студентам 4 03.10.2011 13:27
Найти все числа Армстронга от 1 до k наташка-ромашка Общие вопросы Delphi 3 31.03.2011 18:21
вводим два числа, получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m Sparky Помощь студентам 2 22.11.2009 21:59
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49