Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [pascal] найти сумму цифр введенного числа


Автор: GreMail 12.10.2006, 15:45
ребят... только изучаю паслаль, как быть? что писать? подскажате пожалуйста! Нужно найти сумму цифр введенного трехзначного  числа, как быть? без if then и тому подобное...

Автор: sergejzr 12.10.2006, 16:07
Код

function digitSum(const Num:n):Num;
begin
    while(n > 0)
    begin
        Result:= Result+(n mod 10);
        n: = n div 10; 
    end;
end;



Вроде так.

Автор: sergejzr 12.10.2006, 16:08
Для домашних заданий, курсовых, существует "Центр Помощи"

Тема перенесена! 

Автор: volvo877 12.10.2006, 17:06
Лучше так:
Код
function digitSum(n: integer):integer;
var result: integer;
begin
    result := 0;
    while(n > 0) do
    begin
        Result:= Result+(n mod 10);
        n := n div 10;
    end;
    digitSum := Result;
end;


(константные параметры нельзя изменять, будет ошибка, да и Result в Паскале не описана, только в Дельфи)

Если число именно трехзначное - то можно и так:
Код
writeln((n div 100) + ((n div 10) mod 10) + (n mod 10));

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)