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

Напишите программу в паскале
Дано целое четырёхзначное число N и целое число k. Написать программу, подсчитывающую сумму тех цифр числа N, которые больше k

Ответы

Автор ответа: ForeignAgent
1

Ответ:

есть более другой вариант - через преобразование типов (если проходили такое)

Объяснение:

program FourDigit;

var

   n,k, sumN : integer;

begin

   SumN :=0;

   Write ('Input n, k : ');

   ReadLn (n,k);

   if n div 1000 > k then sumN := sumN + n div 1000;

   if n mod 1000 div 100 > k then sumN := sumN + n mod 1000 div 100;

   if n mod 1000 mod 100 div 10 > k then sumN := sumN + n mod 1000 mod 100 div 10;

   if n mod 1000 mod 100 mod 10 > k then sumN := sumN + n mod 1000 mod 100 mod 10;;

   WriteLn ('Sum >k is ',SumN);

end.    

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

===== PascalABC.NET =====

begin

 var (n, k) := ReadInteger2('Введите N и k:');

 var s := 0;

 n := Abs(n); // в условии не сказано, что число всегда подожительное!

 while n > 0 do

 begin

   var d := n mod 10;

   if d > k then

     s += d;

   n := n div 10  

 end;

 Print(s)

end.

Есть такжен более короткое решение:

begin

 var (n, k) := ReadInteger2('Введите N и k:');

 var a := Abs(n).ToString.ToCharArray.Select(c -> c.ToDigit).ToArray;

 a.Where(p -> p > k).Sum.Println

end.

Приложения:

ForeignAgent: хорошо, что паскаль АВС а не турбо ))
Похожие вопросы
Предмет: Алгебра, автор: Lil333