2 задачи на Паскале

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: 2 задачи на Паскале

Snark13 » 24 май 2005, 14:30

Что касается первой задачи, то решение может быть следующим:

Код: Выделить всё

procedure Piphagor(N:Integer);
var a,b,c,c2:Integer;
begin
  if N<=0 then
  begin
    WriteLn('N<=0');
    Exit;
  end
  for a:=1 to N do
    for b:=a to N do
    begin
      c2:=sqr(a)+sqr(b);
      c:=Round(sqrt(c2));
      if (sqr(c)=c2) then
         writeln('a=',a,', b=',b,', c=',c);
    end;
end;
Для второй задачи, решение "в лоб" может быть следующим:

Код: Выделить всё

procedure Delitel(N:Integer);
var M,i,X:Integer;
  S:string;
begin
  if N<=0 then
  begin
    WriteLn('N<=0');
    Exit;
  end;
  M:=0; //Сюда будет записана сумма цифр
  S:=IntToStr(N); //строковое представление числа
  for i:=1 to Length(S) do
    M:=M+StrToInt(S[i]);
  X:=1; //Делитель, который мы ищем
  for i:=1 to Round(M/2) do
    if (M mod i)=0 then
      X:=i;
  if X=1 then
    WriteLn('НЕТ') //Получили простое число, делителей нет
  else
    WriteLn('Делитель=',X);


end;
Вопрос об оптимальности данных решений не поднимался :D
Совместимость с чистым Pascal не гарантируется, теститровалось консольное приложение в Delphi

2

Mishania » 22 май 2005, 19:37

Да спасибо! Если сможешь то напиши их листинг на Паскале!
Очень прошу....

Mihij » 21 май 2005, 01:35

Mishania, задачи несложные, но на каком языке нуж-то?

2 задачи на Паскале

Mishania » 19 май 2005, 19:13

Помогите решить пожайлуста задачи.Заранее благодарен!
1.Натуральные числа a,b,c называются числами Пифагора,если выполняется условие a в квадрвте+b в квадрате=c в квадрате.Напечатать все числа Пифагора
меньшие N
2.Дано натуральное число N.Найти наибольшее число M(m>1) на которое сумма цифр в числовой записи числа N делится без остатка.Если такого числа нет то вывести нет.

Вернуться к началу