Страница 1 из 3
Помогите решить пару задачек на паскале.
Добавлено: 29 мар 2008, 16:52
enron
Вот первая:
Опишите функцию, которая выполняет деление с остатком двух больших натуральных чисел (в записи которых не больше 255 цифр).
Вторая:
Напишите программу, которая выводит на экран все размещения чисел 1,2,...,n, где n - заданное натуральное ненулевое число.
И третья:
Выведите на экран n - ю цифру числа 1234567891011121314151617181920...999 (записаны последовательно в порядке возрастания все натуральные положительные числа меньше 1000), где n - заданное натуральное число.
Иначе я сам не могу их решить
Помогите,плиз.
Re: Помогите решить пару задачек на паскале.
Добавлено: 29 мар 2008, 17:42
Vovchik
№1
Код: Выделить всё
uses crt;
var x1,x2:integer;
y:real;
BEGIN
clrscr;
write('Введте число №1:');
readln(x1);
write('Введите число №2:');
readln(x2);
y:=x1 div x2;
writeln('Ответ:',y:10:2);
readln;
END.
Re: Помогите решить пару задачек на паскале.
Добавлено: 29 мар 2008, 17:53
Vovchik
№2
Код: Выделить всё
uses crt;
const k=1000;
var n,i:integer;
m:array[1..k]of integer;
BEGIN
clrscr;
Write('Введите n:');
readln(n);
for i:=1 to k do
m[i]:=i;
for i:=1 to n do
write(m[i]:5);
readln;
END.
Re: Помогите решить пару задачек на паскале.
Добавлено: 29 мар 2008, 17:59
Vovchik
№3
Код: Выделить всё
uses crt;
const k=1000;
var n,i:integer;
m:array[1..k]of integer;
BEGIN
clrscr;
Write(' Введите n:');
readln(n);
for i:=1 to k do
begin
m[i]:=i;
write(m[i]:5);
end;
writeln('Ответ:',m[n]);
readln;
END.
Re: Помогите решить пару задачек на паскале.
Добавлено: 29 мар 2008, 21:05
Serge_Bliznykov
оп-с... прямо не знаю, стоит об этом говорить или нет... ;-(( Vovchik, Вы уж на меня не обижайтесь, но Вы неверно решили задачи. (правда, я не понял условие задачи №2 - поэтому тут не буду 100% утверждать, что неверно, но №1 и №3
решены неверно!
задача №1 - ну, попробуйте разделить число хотя бы с 20 значащими цифрами... тип Integer (как и LongInt) тут не поможет (там, грубо говоря, менее 11 значащих цифр)
Для решения этой задачи нужно использовать т.н. "длинную" арифметику.
задача №3. вот есть ряд 1234567891011121314151617181920...999
отсчитайте n-ю цифру (пусть n ввели 11 - что получается - надо выдать 0 - 11-я цифра в этой длиной записи равна нулю! а что выдаст ваша программа?!
Я уже не говорю о том, что похоже вы путаете понятия "цифра" и "число"...
сорри, если обидел... "Платон мне друг, но истина дороже" (с) Сократ.
Re: Помогите решить пару задачек на паскале.
Добавлено: 29 мар 2008, 21:43
Vovchik
Serge_Bliznykov, просто я наверно тне так понял задачи !!! поетому не так как надо решыл буду исправлять !!
Re: Помогите решить пару задачек на паскале.
Добавлено: 29 мар 2008, 21:44
Serge_Bliznykov
вот решение задачи №3
Код: Выделить всё
{
Выведите на экран n - ю цифру числа
1234567891011121314151617181920...999
(записаны последовательно в порядке возрастания все натуральные
положительные числа меньше 1000),
где n - заданное натуральное число.
}
var
n,i,m,LenAll : integer;
s : string;
begin
Write(' Введите n: ');
readln(n);
LenAll := 0;
i:=0;
while LenAll<n do begin
inc(i);
Str(i:1, s);
if (LenAll+Length(S))>=n then
begin
m := n - LenAll;
WriteLn(n:1,'-я цифра = ',Copy(S,m,1));
end;
LenAll := LenAll+Length(S);
end;
readln;
end.
Re: Помогите решить пару задачек на паскале.
Добавлено: 29 мар 2008, 23:37
enron
Вам спасибо Serge_Bliznykov. А то я смотрю что у меня не идут задачи.
Re: Помогите решить пару задачек на паскале.
Добавлено: 30 мар 2008, 08:42
Serge_Bliznykov
пожалуйста.
а растолкуйте мне, что означает в задаче №2 - "все размещения чисел 1,2,...,n" ?
Это
Размещение — Википедия ?
если Вы сами понял условия задачи - то объясните.
по поводу задачи №1
смотри сюда -
Вот тут есть процедура деления длинных чисел через вычитание:
Длинная арифметика
а нашёл это я через поиск - на форуме sources.ru
Деление больших чисел., ПОМОГИТЕ НАЙТИ ОШИБКУ
Re: Помогите решить пару задачек на паскале.
Добавлено: 30 мар 2008, 12:50
Pinkfloid88
Serge_Bliznykov, Здравствуйте, помогите пожалуйста решить задачу, а то нек кому больше обратиться. Очень буду благодарен, заранее спасибо. Задача: Работа с одномерными массивами. Построение алгоритмов развлетвляющейся и цеклической структуры. Дан массив С(N) натуральных чисел. Найдите сумму элементов, кратных данному числу k.