Другие языки программирования и технологии
Задача на паскаль.нужна помощь
/ Дано N целых чисел.Найдите среди них число,у которого приеденная ниже характеристика имеет максимальное значение: -сумма цифр -первая цифра -количество делителей -сумма всех делителей
Вот 1 программа на все вопросы:
var
N, Nom, Sum, Tmp, SumMax, Max : Word;
A : array [1..100] of Word;
begin
Write('Введите N: '); ReadLn(N);
for Nom := 1 to N do begin Write('A[', Nom, '] = '); ReadLn(A[Nom]); end;
Max := 0; SumMax := 0;
for Nom := 1 to N do begin Tmp := A[Nom]; Sum := 0;
while Tmp > 0 do begin Sum := Sum + Tmp mod 10; Tmp := Tmp div 10; end;
if Sum > SumMax then begin Max := A[Nom]; SumMax := Sum; end;
end;
WriteLn('Первое число с максимальной суммой цифр ', Max);
Max := 0; SumMax := 0;
for Nom := 1 to N do begin Tmp := A[Nom]; while Tmp > 10 do Tmp := Tmp div 10;
if Tmp > SumMax then begin Max := A[Nom]; SumMax := Tmp; end;
end;
WriteLn('Первое число с максимальной первой цифрой ', Max);
Max := 0; SumMax := 0;
for Nom := 1 to N do begin Sum := 0; for Tmp := 2 to A[Nom] do
if A[Nom] mod Tmp = 0 then Sum := Sum + 1;
if Sum > SumMax then begin Max := A[Nom]; SumMax := Tmp; end;
end;
WriteLn('Первое число имеющее наибольшее количество делителей ', Max);
Max := 0; SumMax := 0;
for Nom := 1 to N do begin Sum := 0; for Tmp := 2 to A[Nom] do
if A[Nom] mod Tmp = 0 then Sum := Sum + Tmp;
if Sum > SumMax then begin Max := A[Nom]; SumMax := Tmp; end;
end;
WriteLn('Первое число имеющее наибольшую сумму делителей ', Max);
end.
При необходимости ненужное вычеркнуть!
var
N, Nom, Sum, Tmp, SumMax, Max : Word;
A : array [1..100] of Word;
begin
Write('Введите N: '); ReadLn(N);
for Nom := 1 to N do begin Write('A[', Nom, '] = '); ReadLn(A[Nom]); end;
Max := 0; SumMax := 0;
for Nom := 1 to N do begin Tmp := A[Nom]; Sum := 0;
while Tmp > 0 do begin Sum := Sum + Tmp mod 10; Tmp := Tmp div 10; end;
if Sum > SumMax then begin Max := A[Nom]; SumMax := Sum; end;
end;
WriteLn('Первое число с максимальной суммой цифр ', Max);
Max := 0; SumMax := 0;
for Nom := 1 to N do begin Tmp := A[Nom]; while Tmp > 10 do Tmp := Tmp div 10;
if Tmp > SumMax then begin Max := A[Nom]; SumMax := Tmp; end;
end;
WriteLn('Первое число с максимальной первой цифрой ', Max);
Max := 0; SumMax := 0;
for Nom := 1 to N do begin Sum := 0; for Tmp := 2 to A[Nom] do
if A[Nom] mod Tmp = 0 then Sum := Sum + 1;
if Sum > SumMax then begin Max := A[Nom]; SumMax := Tmp; end;
end;
WriteLn('Первое число имеющее наибольшее количество делителей ', Max);
Max := 0; SumMax := 0;
for Nom := 1 to N do begin Sum := 0; for Tmp := 2 to A[Nom] do
if A[Nom] mod Tmp = 0 then Sum := Sum + Tmp;
if Sum > SumMax then begin Max := A[Nom]; SumMax := Tmp; end;
end;
WriteLn('Первое число имеющее наибольшую сумму делителей ', Max);
end.
При необходимости ненужное вычеркнуть!
вот я не понимаю. Программирование - это современная, востребованная, денежная специальность. Не говоря уже о том, что это просто интересно. Я понимаю еще можно не знать матан или историю. Но черт возьми, не взять себя за шкиряк и не усадить один раз просто взять и ПОНЯТЬ программирование - это выше моего понимания.
Сколько платишь? Готов помочь и ДАЖЕ сделать за тебя
слишком просто
Похожие вопросы
- задача на паскале нужна помощь
- задача в паскале! нужны только объяснения!!!
- Как решить задачу в С++ ?Нужна помощь!!!
- Есть программу выполнения задачи в Паскале, нужны объяснения, комментарии к каждой строчке программы, а то не все понятно
- задача на С++, нужна помощь в решении
- Двумерный массив/Турбо паскаль/нужна помощь=( А(12)Заменить отрицательные элементы стоящие на чётных местах цифрой 8.
- Люди разбирающиеся в паскале, нужна помощь!
- паскаль, нужна помощь!
- Нужна помощь с паскалем!
- Pascal. Помогите пожалуйста решить задачу в паскале !