- Теория:
- Алгоритмы:
- Числа:
|
ГЛАВА I
ЗАДАЧИ С РЕШЕНИЯМИ
Разделение числа на цифры и действия
с ними
|
1. Вывести на экран все цифры вводимого с клавиатуры числа.
2. Найти первую цифру вводимого с клавиатуры числа.
3. Найти удвоенное произведение цифр числа, вводимого с клавиатуры.
4. Вычислите сумму старших (первых) цифр всех чисел от 1 до 99.
5. Найти общую сумму цифр всех двузначных чисел.
6. Вычислите, чему равно P - S, где P - произведение , S - сумма цифр числа, вводимого с клавиатуры.
7. Найдите двузначное число, равное сумме квадрата числа его единиц и куба числа его десятков.
8. Найти удвоенную сумму цифр случайного числа из интервала [555; 999].
|
1. Вывести на экран все цифры вводимого с клавиатуры числа.
Ответ:
число=123
3
2
1.
program cif_01;
uses crt;
var ch, c: integer; {ch - число;
с - цифра}
begin
clrscr;
write('число='); readln(ch);
while ch< >0 do
begin
c:=ch mod 10;
ch:=ch div 10;
writeln(c);
end;
end.
|
2. Найти первую цифру вводимого с клавиатуры числа.
Ответ:
число=56
5
program cif_02;
uses crt;
var ch, c: integer; {ch - число;
с - цифра}
begin
clrscr;
write('число='); readln(ch);
while ch< >0 do
begin
c:=ch mod 10;
ch:=ch div 10;
end;
writeln(c); {вывод на экран только последней цифры}
end.
|
3. Найти удвоенное произведение цифр числа, вводимого с клавиатуры.
Ответ: ch = 1234, P * 2 = 48.
program cif_03;
uses crt;
var c, ch, P: integer;
begin
clrscr;
P:=1;
write('ch='); readln(ch) ;
while ch< >0 do
begin
c:=ch mod 10;
ch:=ch div 10 ;
P:=p*c;
end;
write('P*2=',p*2);
end.
|
4. Вычислите сумму старших (первых) цифр всех чисел от 1 до 99.
Ответ: S=495.
program cif_04;
uses crt;
var c,ch,i,S:integer;
begin
clrscr;
S:=0;
for i:=1 to 99 do
begin
ch:=i;
while ch< >0 do
begin
c:=ch mod 10;
ch:=ch div 10
end;
S:=s+c; {после окончания цикла While, с - старшая цифра числа}
end;
write('S=',s);
end.
|
5. Найти общую сумму цифр всех двузначных чисел.
Ответ:
Сумма цифр всех двузначных чисел = 855.
program cif_05;
uses crt;
var ch, ch1, c, S, SUM: integer;
{ch - число;
ch1 - дубликат числа ch;
с - цифра;
S - сумма цифр для каждого числа;
SUM - общая сумма цифр}
begin
clrscr;
For ch:=10 to 99 do
begin
ch1:=ch; {создаем дубликат числа}
S:=0; {обнуляем сумму цифр для проверяемого числа}
while ch1< >0 do {используем дубликат числа, т.к. в результате следующего цикла он превращается в ноль}
begin
c:=ch1 mod 10;
ch1:=ch1 div 10;
s:=s+c {считаем сумму цифр для каждого числа}
end;
SUM:=SUM+S;
end;
writeln('сумма цифр всех двузначных чисел = ', SUM);
end.
|
6. Вычислите, чему равно P - S, где P - произведение , S - сумма цифр числа, вводимого с клавиатуры.
Ответ: если ch=124, то P-S=1.
program cif_06;
uses crt;
var c, ch, P, S: integer;
begin clrscr;
P:=1;
write('ch='); readln(ch) ;
while ch< >0 do
begin
c:=ch mod 10;
ch:=ch div 10 ;
P:=p*c;
S:=S+c
end;
write('P - S=', p - S);
end.
|
7. Найдите двузначное число, равное сумме квадрата числа его единиц и куба числа его десятков.
Ответ: 24.
program cif_07;
uses crt;
var ch, des, ed, kb, kv: integer;
begin
clrscr;
ch:=9; {9 - последнее однозначное число перед двузначными. С него пойдет отсчет}
repeat
inc(ch);
ed:= ch mod 10;
des:= ch div 10 mod 10;
kv:=sqr(ed);
kb:=sqr(des)*des;
until ch=(kv+kb);
writeln('ch=',ch)
end.
|
8. Найти удвоенную сумму цифр случайного числа из интервала [555; 999]
Ответ:
900
Удвоенная сумма цифр числа = 18
program cif_08;
uses crt;
var ch, c, S:integer;
{ch - число;
с - цифра;
S - сумма цифр числа}
begin
clrscr;
randomize;
ch:=random(999-555+1)+555;
writeln(ch);
S:=0; {сначала сумма цифр равна 0}
while ch< >0 do
begin
c:=ch mod 10;
ch:=ch div 10;
s:=s+c {считаем сумму цифр числа}
end;
writeln('Удвоенная сумма цифр числа = ', S*2);
end.
|
|
|
|
|
|
|
|