В Паскале!!! Ввести целое число и найти сумму его цифр 1) Ввести целое Число - 1234 - ...

0 голосов
117 просмотров

В Паскале!!!
Ввести целое число и найти сумму его цифр
1) Ввести целое Число - 1234 -
Сумма цифр числа равна 10

2) Ввести целое число и определить, верно ли, что в его записи есть 2 одинаковые цифры.
Пример. Введите целое число - 1234 - НЕТ 1224 - ДА.

Помогите пожалуйста!)))


image

Информатика (69 баллов) | 117 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
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)В этой последовательности каждый следующий член равен сумме предыдущего члена и порядкового номера предыдузего члена 

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.
(164 баллов)
0

можете пожалуиста прямо полностью написать решение как будет в программе. Очень срочно надо пжлл

0

я честно не помню,это надо вспоминать

0

ладно Спс