Как найти сумму всех четных цифр числа

0 / 0 / 0

Регистрация: 25.07.2012

Сообщений: 5

1

Найти сумму всех четных цифр в числе

25.07.2012, 09:21. Показов 51807. Ответов 2


Студворк — интернет-сервис помощи студентам

Как-то не задалось у меня с этими тремя,не получается . _ .
1.Нужно найти сумму всех четных цифр в числе.
Заранее огромное спасибо



0



CodeR

Фрилансер

3417 / 2814 / 3000

Регистрация: 08.02.2012

Сообщений: 8,541

Записей в блоге: 1

25.07.2012, 10:11

2

Лучший ответ Сообщение было отмечено Blu как решение

Решение

Цитата
Сообщение от Blu
Посмотреть сообщение

1.Нужно найти сумму всех четных цифр в числе.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Var s,n:integer;
Begin
    write('Введите число: ');readln(n);
    s:=0;
    While n<>0 do
     Begin
      if n mod 10 mod 2 = 0 then s:=s+n mod 10;
      n:=n div 10;
     End;
    if s<>0 then writeln('Сумма четных цифр: ',s)
     else writeln('Нету четных цифр в числе');
    readln;
End.



1



0 / 0 / 0

Регистрация: 25.07.2012

Сообщений: 5

25.07.2012, 11:36

 [ТС]

3

Вы мой герой ! Спасибище



0



Голосование за лучший ответ

Кублен

Оракул

(95443)


10 лет назад

на и добавь определение четности
uses crt;
var x,sum: integer;
begin
clrscr;
readln(n);
sum := 0;
while n<>0 do
begin
sum:=sum + x mod 10;
n := n div 10;
end;
write(‘Сумма цифр = ‘,sum);
readln;
end.}

Jurijus Zaksas

Искусственный Интеллект

(392767)


10 лет назад

s:=0;
while n>0 do begin
s:=s+(n mod 10)*(1 and (n mod 10));
n:=n div 10;
end;

Балашов Артем

Ученик

(202)


2 года назад

Var n,i,x,t,l:integer; s:string;
begin
readln(n);
str(n,s);
for i:=1 to length(s) do begin
val(s[i],x,l);
if odd(x)=false then t:=t+x;
end;
writeln(t);
end.

Переделать паскаль в питон

  • n – исходное число,
  • sum – сумма четных чисел.
var  
   n: longint;
   sum: integer;
begin
   readln(n);    
   sum := 0;
   while n > 0 do begin
       if n mod 10 mod 2 = 0 then
           sum := sum + n mod 10;
       n := n div 10;
   end;    
   writeln(sum);
end.

Qwertiy's user avatar

Qwertiy

120k24 золотых знака121 серебряный знак291 бронзовый знак

задан 2 мар 2021 в 12:03

user432315's user avatar

5

Вроде как-то так:

print(sum(x for x in map(int, input()) if not (x & 1)))

ответ дан 2 мар 2021 в 12:12

Qwertiy's user avatar

QwertiyQwertiy

120k24 золотых знака121 серебряный знак291 бронзовый знак

print("Введите n")
n = int(input())
sum = 0

while n > 0:
    if n % 10 % 2 == 0:
        sum += n % 10
    n //= 10

print(sum)

ответ дан 2 мар 2021 в 12:23

Aimon Z.'s user avatar

Aimon Z.Aimon Z.

1,0457 серебряных знаков20 бронзовых знаков

1

Еще вариант:

a = "1234567890588"
b = sum(int(i) for i in a if ord(i) % 2 == 0)
print(a, b)

Вывод:

1234567890588 36

Или одной строкой:

print(sum(int(i) for i in input() if ord(i) % 2 == 0))

дополнительный вариант:

print(sum(int(i) for i in input() if i in "2468"))

ответ дан 2 мар 2021 в 12:34

TigerTV.ru's user avatar

TigerTV.ruTigerTV.ru

3,1851 золотой знак10 серебряных знаков21 бронзовый знак

Формулировка задачи:

Как-то не задалось у меня с этими тремя,не получается . _ .
1.Нужно найти сумму всех четных цифр в числе.
Заранее огромное спасибо

Код к задаче: «Найти сумму всех четных цифр в числе»

textual

Var s,n:integer;
Begin
    write('Введите число: ');readln(n);
    s:=0;
    While n<>0 do
     Begin
      if n mod 10 mod 2 = 0 then s:=s+n mod 10;
      n:=n div 10;
     End;
    if s<>0 then writeln('Сумма четных цифр: ',s)
     else writeln('Нету четных цифр в числе');
    readln;
End.

Полезно ли:

9   голосов , оценка 4.111 из 5

This codes gives me the number of even digit in a number… Actually I want to add that number.

var value = 2234,
sum = 0;

while (value) {
  sum += value % 10;
  value = Math.floor(value / 10);
}
console.log(sum);

Alan Liang's user avatar

Alan Liang

1,0871 gold badge8 silver badges21 bronze badges

asked Apr 22, 2020 at 7:38

rupesh raj's user avatar

1

I have a solution convert to array use Array.from and use reduce function.

It may be not best way.

var value = 2234
var total = Array.from(String(2234), Number).reduce((acc, item)=>{
   if(item % 2 == 0){
     acc += item;
   }
   return acc;
},0);

console.log(total);

answered Apr 22, 2020 at 7:49

Hien Nguyen's user avatar

Hien NguyenHien Nguyen

24.4k7 gold badges50 silver badges60 bronze badges

You could get a digit and check if the digit is evan, then add the digit to sum.

var value = 2234,
    digit,
    sum = 0;

while (value) {
    digit = value % 10; 
    if (digit % 2 === 0) sum += digit;
    value = Math.floor(value / 10);
}

console.log(sum);

answered Apr 22, 2020 at 7:44

Nina Scholz's user avatar

Nina ScholzNina Scholz

374k25 gold badges344 silver badges386 bronze badges

var value = 2234,
sum = 0;

while (value) {
    if((value%10)%2 === 0) //check if digit is even
        sum += value % 10;
    value = Math.floor(value / 10);
}

console.log(sum);

answered Apr 22, 2020 at 7:47

Akash Bhardwaj's user avatar

Akash BhardwajAkash Bhardwaj

3461 gold badge3 silver badges9 bronze badges

Добавить комментарий