Страница 1 из 1

Пожалуйста помогите по задачам PASCAL

Добавлено: 13 дек 2009, 15:18
st1msd
Пожалуйста, помогите, решите задачи :)
И напишите также пояснения к тому, что вы делали :)

Цикл с предусловием:
1) Верно ли, что в данном числе сумма цифр больше B, а само число делится на B (B вводится с клавиатуры).

Цикл с параметром:
2) Написать программу поиска 4хзначного числа, которое при делении на 133 даёт в остатке 125, а при делении на 134 даёт в остатке 111.

Цикл с постусловием:
3) Найти целые числа из промежутка от 1 до 200, у которых ровно 5 делителей.

Задачи по массиву:
4) Найти сумму элементов больше данного числа A.

5) В каждой строке изменить знак максим. по модулю и поменять знак на отриц.

Задачи по продпрограммам и процедуре:

6) Найти общие символы в 3х предложениях (т.е. есть ли в этих строках общие символы).

7) Написать функцию нахождения суммы 1+x+x2+x3+...+xn (2, 3, n - это степени).

Re: Пожалуйста помогите по задачам PASCAL

Добавлено: 14 дек 2009, 10:00
Хыиуду
1. a mod b=0 => a делится на b
Сумма цифр числа:

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

str(x,s); 
for i:=1 to length(s) do 
    inc(sum, ord(s[i]); 
dec(sum, ord('0')*length(s));
2. x:=125; repeat inc(x, 133) until x mod 134=111;
3. Количество делителей - пройти в цикле все числа от 1 до x/2 и проверить, делится ли х на них (см. п.1).
4. Пройтись по массиву, если очередной элемент > A - добавить к счетчику этот элемент.
5. Всего два слова сокращены - а смысл задачи уже непонятен.
6. Функция, определяющая, является ли c общим символом в строках:
pos(c,s1)*pos(c,s2)*pos(c,s3)>0
7. Раздел Алгоритмы.