Есть число 123 как сделать алгоритм при котором все числа будут сумироватся?
Например: 1+2+3=6
Помогите! Нужно решить с помошью цыкла!
Другие языки программирования и технологии
Как в Pascal найти суму числел числа!?
решение на Turbo Pacsal 7.0. число берется наугад. (но только трехзначные)
uses crt;
var chislo: integer;
begin
clrscr;
randomize;
chislo:=100+ random (900);
writeln (' число = ', chislo);
writeln (' сумма = ', (chislo div 100) + ((chislo mod 100) div 10) + (chislo mod 10));
readln;
end.
Сейчас и с циклом придумаем... Число может быть любым? пятизначным?
вот решение на число длиной до 10 знаков
uses crt;
var chislo, i, ost: LongInt;
begin
clrscr;
randomize;
write ('Input Number = ');
readln (chislo);
i:=0;
while chislo<>0 do
begin
ost:=chislo mod 10;
i:=i+ost;
chislo:= chislo div 10;
end;
write (' сумма чисел = ', i);
readln;
end.
uses crt;
var chislo: integer;
begin
clrscr;
randomize;
chislo:=100+ random (900);
writeln (' число = ', chislo);
writeln (' сумма = ', (chislo div 100) + ((chislo mod 100) div 10) + (chislo mod 10));
readln;
end.
Сейчас и с циклом придумаем... Число может быть любым? пятизначным?
вот решение на число длиной до 10 знаков
uses crt;
var chislo, i, ost: LongInt;
begin
clrscr;
randomize;
write ('Input Number = ');
readln (chislo);
i:=0;
while chislo<>0 do
begin
ost:=chislo mod 10;
i:=i+ost;
chislo:= chislo div 10;
end;
write (' сумма чисел = ', i);
readln;
end.
Ты можешь откусить от числа последнюю цифру, если поделишь число на 10 с остатком.
Пусть N = 123.
Тогда N mod 10 = остаток, последняя цифра числа (3).
N div 10 = частное, все цифры числа, кроме последней (12).
Будет у тебя число N = 31415.
sum := 0;
cifra := N mod 10; {cifra = 5}
sum := sum + cifra; {sum = 5}
N := N div 10; {N = 3141}
cifra := N mod 10; {cifra = 1}
sum := sum + cifra; {sum = 6}
N := N div 10; {N = 314}
cifra := N mod 10; {cifra = 4}
sum := sum + cifra; {sum = 10}
N := N div 10; {N = 31}
cifra := N mod 10; {cifra = 1}
sum := sum + cifra; {sum = 11}
N := N div 10; {N = 3}
cifra := N mod 10; {cifra = 3}
sum := sum + cifra; {sum = 14}
N := N div 10; {N = 0}
N = 0, больше цифр нет.
sum = 14. Готово!
А как это сделать циклом — попробуй догадаться без меня.
Пусть N = 123.
Тогда N mod 10 = остаток, последняя цифра числа (3).
N div 10 = частное, все цифры числа, кроме последней (12).
Будет у тебя число N = 31415.
sum := 0;
cifra := N mod 10; {cifra = 5}
sum := sum + cifra; {sum = 5}
N := N div 10; {N = 3141}
cifra := N mod 10; {cifra = 1}
sum := sum + cifra; {sum = 6}
N := N div 10; {N = 314}
cifra := N mod 10; {cifra = 4}
sum := sum + cifra; {sum = 10}
N := N div 10; {N = 31}
cifra := N mod 10; {cifra = 1}
sum := sum + cifra; {sum = 11}
N := N div 10; {N = 3}
cifra := N mod 10; {cifra = 3}
sum := sum + cifra; {sum = 14}
N := N div 10; {N = 0}
N = 0, больше цифр нет.
sum = 14. Готово!
А как это сделать циклом — попробуй догадаться без меня.
Владимир Кронов
Спасибо! Очень помог!
Можно очень просто, переведя число в строку
var a, sum, i: integer;
begin
Readln(a);
for i:=1 to length(inttostr(a)) do //цикл перебирает цифры числа от первой до последней (длина числа)
sum:= sum + strtoint(a)[i]; // Прибавляем к sum текущую цифру числа
writeln(sum);
end.
var a, sum, i: integer;
begin
Readln(a);
for i:=1 to length(inttostr(a)) do //цикл перебирает цифры числа от первой до последней (длина числа)
sum:= sum + strtoint(a)[i]; // Прибавляем к sum текущую цифру числа
writeln(sum);
end.
program _____;
uses crt;
var a,b:integer;
begin
writeln('Введите два числа: ');
readln(a,b);
writeln('Сумма: ', a+b+с,);
readln;
end. Проверь, вроде так я давно писал уже не помню
uses crt;
var a,b:integer;
begin
writeln('Введите два числа: ');
readln(a,b);
writeln('Сумма: ', a+b+с,);
readln;
end. Проверь, вроде так я давно писал уже не помню
Руслан Тантенов
не var a,b:integer; а var a,b,c:integer;
Похожие вопросы
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
- Pascal. Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые являются степенью двойки.
- PASCAL - Мне необходимо округлить число в большую сторону
- Pascal - Вывести три наибольших числа
- Pascal: Дано 3-значное число N.Определить,являются ли числа,из которых оно состоит членами геометрической прогрессии
- Pascal. Дана строка, элементы - числа через пробел. Как отсечь числа, которые содержат '0'?
- Найдите наибольшее четырехзначное число, которое при делении на любое однозначное число, кроме 1,2и3, дает в остатке 3
- Как в pascal.ABC разделить шестнадцетеричное число состоящее из 6 символов (например 2f5990) на 3 части "2f" "59" и "90"
- Помогите с Pascal, найдите ошибку