Предмет: Информатика,
автор: gir00758
Срочно!!Дано натуральное число N. Вычислить сумму цифр этого числа,которые не делятся на 4.
В паскале
Ответы
Автор ответа:
1
var
i, si, N, ss: Integer;
s: string;
begin
Write ('Введите N: ');
ReadLn (N);
s := IntToStr (N);
ss := 0;
for i := 1 to Length (s) do begin
si := StrToInt (s [i]);
if si mod 4 <> 0 then
ss := ss + si;
end;
Writeln ('Сумма цифр = ' + IntToStr (ss));
end.
// второй вариант решения
var
si, N, ss: Integer;
begin
Write ('Введите N: ');
ReadLn (N);
ss := 0;
while N > 0 do begin
si := N mod 10;
N := N div 10;
if si mod 4 <> 0 then
ss := ss + si;
end;
Writeln ('Сумма цифр = ' + IntToStr (ss));
end.
gir00758:
нуу
в программе массива нет, есть строка символов. Задачу сделал, работает, не получается изменить текст ответа, может из за статуса "отмечет как нарушение", попробуйте его снять
var
si, N, ss: Integer;
begin
Write ('Введите N: ');
ReadLn (N);
ss := 0;
while N > 0 do begin
si := N mod 10;
N := N div 10;
if si mod 4 <> 0 then
ss := ss + si;
end;
Writeln ('Сумма цифр = ' + IntToStr (ss));
end;
si, N, ss: Integer;
begin
Write ('Введите N: ');
ReadLn (N);
ss := 0;
while N > 0 do begin
si := N mod 10;
N := N div 10;
if si mod 4 <> 0 then
ss := ss + si;
end;
Writeln ('Сумма цифр = ' + IntToStr (ss));
end;
Новый вариант в комментарий поместился: см. вверху
Второй вариант решения перенес в ответ. Точки в конце поставил.
почти правильно
но почему при вводе данных: 88, сумма цифр равна 0 ?
ввожу 14 выводит 1
ввожу 24 выводит 2
ввожу 18 выводит 1
ввожу 28 выводит 2
ввожу 24 выводит 2
ввожу 18 выводит 1
ввожу 28 выводит 2
Условия задачи: сумма цифр, которые не делятся на 4.
1 - не делится, 4 делится, сумма = 1, на мой взгляд правильно работает
Похожие вопросы
Предмет: Математика,
автор: kopavlad2010
Предмет: Информатика,
автор: Ника2512345
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: 20020610