![]() |
|
|
#1
|
||||
|
||||
|
как разделить число на составляющие,т.е 123 на 1,2,3 и сложить это потом?
|
|
#2
|
||||
|
||||
|
Самый простой способ...
Код:
var N, Summ, i: word;//Число, Сумма, цикл S: string;//Вспомогательная переменная begin S := IntToStr(N);//Переводим число в строку Sum := 0;//Начальное значение суммы for i := 0 to Length(S)-1 do Sum := Sum + StrToInt(S[i]);//Строка число это массив символов end; |
|
#3
|
||||
|
||||
|
Код:
function SumDig(Value: Integer): Longint;
var
i: Byte;
TmpVal: String;
begin
TmpVal := IntToStr(Value);
Result := -Ord('0') * Length(TmpVal);
for i := 1 to Length(TmpVal) do
Result := Result + Ord(TmpVal[i]);
end; |
|
#4
|
||||
|
||||
|
Блин че то догнать не могу
Определить количество натуральных чисел из интервала от 100 до 500, сумма цифр которых равна 15 вот это задание,по твоему коду делал,ошибки разные выходят((( |
|
#5
|
||||
|
||||
|
Код:
procedure TForm1.Button1Click(Sender: TObject); var N, Summ, i: word;//Число, Сумма, цикл S: string;//Вспомогательная переменная begin for n:=100 to 500 do begin S := IntToStr(n);//Переводим число в строку Summ := 0;//Начальное значение суммы for i := 0 to Length(S)-1 do Summ := Summ + StrToInt(S[i]);//Строка число это массив символов label1.Caption:=inttostr(summ); end;end; end. вот я что делал))) Последний раз редактировалось Admin, 23.05.2010 в 17:48. |
|
#6
|
||||
|
||||
|
а можно тогда уж полностью код программы? )))
|
|
#7
|
||||
|
||||
|
Код:
function SumDig(Value: Integer): Longint;
var
i: Byte;
TmpVal: String;
begin
TmpVal := IntToStr(Value);
Result := -Ord('0') * Length(TmpVal);
for i := 1 to Length(TmpVal) do
Result := Result + Ord(TmpVal[i]);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Count, i: word;
begin
Count := 0;
for i:=100 to 500 do
if SumDig(i) = 15 then inc(Count);
Label1.Caption := Format('Количество чисел в интервале от 100 до 500 с суммой цифр равной 15: %d', [Count]);
end. |
|
#8
|
||||
|
||||
|
спасибо)) все работает
|