Другие языки программирования и технологии

составить программы для паскаля, пожалуйста*

1.Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры: Пример: Введите целое число: 1234 Нет. Введите целое число: 1224 Да. 2.Ввести квадраты и кубы 10 чисел данной последовательности:1,2,4,7,11,16… Пример: 1 1 1 2 4 8 4 16 64 ... 46 2116 97336
1)Задача решается несколькими способами. Можно перевести число в строку и с помощью строковых функций (и процедур) определить, есть ли в ней одинаковые символы.
Еще один способ (на мой взгляд, чуть-чуть попроще) заключается в том, чтобы просто сосчитать количество каждой цифры в числе:
Пусть у нас есть массив col[0..9], который будет хранить количество цифр. Сосчитать количество каждой цифры в массиве ch можно так:

while (ch mod 10)>0 do begin
c:=ch mod 10;
ch:=ch div 10;

col[ c ]:=col[ c ]+1;

end;

Теперь нужно просто посмотреть, нет ли в массиве col числа >=2 . Если такое есть, то это будет означать, что цифра встретиласи два или более раза:

b:=false;
for i:=0 to 9 do if col[ i ]>=2 then b:=true;

if b then writeln ('да') else writeln('нет');

Кстати, не забудь обнулить массив col перед использованием.

2)В этой последовательности каждый следующий член равен сумме предыдущего члена и порядкового номера предыдузего члена

1
2=1+1
4=2+2
7=4+3
11=7+4

Очевидно, задача на циклы.

Цикл должен отсчитать 10 первых членов:

for i:=1 to 10 do begin...

Внутри мы должны сосчитать сам член, записать его и вывести квадрат и куб этого члена.

i - порядковый номер члена, а сам член предположим записываем в переменную ch. Тогда он вычисляется по формуле

ch:=ch+i-1;

Не забудь перед циклом указать начальное значение ch.
Толыбай Косназаров
Толыбай Косназаров
1 447
Лучший ответ
программы - для тебя Ну для препода. НА паскале.
1. Удобно сделать строковыми функциями. Преобразовать число в строку (функция str) и функцией mid разобрать её на символы.. .
2.Не понял