Предмет: Информатика, автор: 55dana55

дано натуральное число n>9 определить сумму цифр во второй половине этого числа
например
в числе n= 12345678 это сумма 5+6+7+8=26


pascal

Помогите. вот я написала сумму. теперь как ввести " во второй половине этого числа"?

Приложения:

srzontmp: Если число цифр нечетное, скажем, не 8, а 7? Тогда как половину определять? Половина - это 3 цифры, или 4 цифры?
srzontmp: Если при нечетном количестве цифр половина - это большая часть, то можно написать программу так: var n,k,s: integer;
begin
readln(n);
k:=1;
while k*k s:=0;
while n>k do
begin
s:=s+n mod 10;
n:=n div 10;
end;
writeln(s);
end.
srzontmp: Строка не записалась, вместо строки while k*k s:=0; должно быть while k*k
srzontmp: Не прописывает символы, добавлю в ответ.

Ответы

Автор ответа: srzontmp
0

Если число цифр нечетное, то половиной считаем большую часть.

var n,k,s: integer;

begin

 readln(n);

 k:=1;

 while k*k<n do k:=k+1;

 s:=0;

 while n>k do

 begin

   s:=s+n mod 10;

   n:=n div 10;

 end;

 writeln(s);

end.


Автор ответа: Аноним
0

Если число цифр нечетное, среднюю цифру не учитываем.

PascalABC.NET 3.4.2, сборка 1847 от 28.10.2018

Внимание! Если программа не работает, обновите версию!

begin

 var (n, S) := (ReadInteger, 0);

 loop Trunc(Log10(n) + 1) div 2 do

 begin

   S += n mod 10;

   n := n div 10

 end;

 S.Println

end.

12345678

26

Похожие вопросы