Вопрос № 183261: Уважаемые эксперты! Помогите мне решить 2 задачи, но они должны быть решены так как решил мне lamed (Академик) в предыдущей теме! Вот задачти: 1) Вот здесь задача (фотография)Вопрос № 183261:
Уважаемые эксперты! Помогите мне решить 2 задачи, но они должны быть решены так как решил мне lamed (Академик) в предыдущей теме! Вот задачти: 1) Вот здесь задача (фотография) 2) Дано натуральное число N. Получить новое число M, которое образуется из числа N путем замены последней цифры на значение наибольшей цифры в записи числа N. Пример.N=128452, m= 128458
Задание 1. 1. Постановка задачи. Даны числовой ряд и некоторое число eps. Найти наименьший номер члена последовательности, для которого выполняется условие M. Вывести на экран этот номер и все элементы a[i], где i=1,2,…,n. a[n]=(-1)n*2n/n!, M:|an|<eps Входные данные: вещественное число eps типа real; выходные данные: натуральное число N типа integer; ограничения: eps>0.
2. Формализация. Первый элемент
последовательности вычисляется по формуле a1=-2 Каждый последующий – по формуле an=-an-1*2/n, где n – номер члена Условие окончания цикла |an|<eps
3. Блок-схема
4.Программа
Код :
{ Даны чис
ловой ряд и некоторое число eps. Найти наименьший номер члена
последовательности, для которого выполняется условие M.
Вывести на экран этот номер и все элементы a[i], где i=1,2,…,n.
A[n]=(-1)^n*s^n/n!, M:|a[n]|<eps
Pascal-ABC, lamed, RFPRO, 20.5.2011}
var
n: integer;
x,y: longint;
a,eps: real;
begin
readln(eps);
n:=1;
a:=-2;
while abs(a)>=eps do
begin
writeln('a[',n,']=',a:0:4);
inc(n);
a:=-a*2/n;
end;
writeln('n=',n);
writeln('a[',n,']=',a:0:4);
end.
Задание 2. 1. Постановка задачи. Требуется найти натуральное число M, которое образуется из числа N путем замены последней цифры на значение наибольшей цифры в записи числа N. Входные данные: натуральное число N типа integer; выходные данные: натуральное число N типа integer. Ограничения: 0<N<MaxInt-MaxInt mod 10, 0<M<MaxInt.
2. Формализация. Вспомогательное число tmp состоит из двух частей: левой части и остатка (последней цифры. Последняя
цифра c = tmp mod 10; tmp = tmp div 10; Эта операция продолжается, пока tmp > 0. Максимальная цифра получается при последовательном сравнении с текущей максимальной цифрой max. Если c> max, то max=c M=N-c+max;
3. Блок-схема
4.Программа
Код :
{ 2) Дано натуральное число N. Получить новое число M, которое образуется из числа
N путем замены последней цифры на значение наибольшей цифры в записи числа N.
Пример.N=128452, m= 128458 }
{ Pascal-ABC, RFPRO, 20.05.2011 }
var
n, m, tmp: integer;
c, max: integer;
begin
readln(n);
tmp:= n; { текущая левая часть числа до отбрасывания последней цифры }
max:= 0; { максимальная цифра }
while tmp > 0 do
begin
c:= tmp mod 10; { последняя цифра }
if c>max then
max:= c;
tmp := tmp div 10; { отбрасывание разряда единиц }
end;
if max = n mod 10 then
m:= n
else
m:= n-n mod 10 + max;
writeln(m);
end.
Удачи!
Ответ отправил: lamed (Академик)
Ответ отправлен: 20.05.2011, 22:00
Номер ответа: 267276 Россия, Ковров Тел.: +79107793141
Оценка ответа: 5
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 267276
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.