Как решить задачу через for?
Пользователь вводит трехзначное число. Твоя программа должна сложить цифры, из которых состоит это число. Например, если было введено 349, программа должна вывести на экран число 16, так как 3 + 4 + 9 = 16.
Домашние задания: Информатика
Как решить задачу через for?
Смотря какой язык программирования
Можно отделить последнюю цифру целого числа, если поделить его на 10 с остатком.
Например, на C++ или Java:
int a = 349;
int digit = a % 10;
a = a / 10;
//Теперь a = 34, digit = 9
digit = a % 10;
a = a / 10;
//Теперь a = 3, digit = 4
digit = a % 10;
a = a / 10;
//Теперь a = 0, digit = 3
Можно проделать это в цикле for три раза, получить все цифры и приплюсовать их к переменной для суммы цифр. Тогда сумма будет равна 9 + 4 + 3.
int sum = 0;
for (int i = 0; i < 3; i++) {
int digit = a % 10;
sum = sum + digit;
a = a / 10;
}
System.out.println(sum);
В Паскале вместо знака процента % используется ключевое слово mod.
Ну и вообще синтаксис языка другой.
Например, на C++ или Java:
int a = 349;
int digit = a % 10;
a = a / 10;
//Теперь a = 34, digit = 9
digit = a % 10;
a = a / 10;
//Теперь a = 3, digit = 4
digit = a % 10;
a = a / 10;
//Теперь a = 0, digit = 3
Можно проделать это в цикле for три раза, получить все цифры и приплюсовать их к переменной для суммы цифр. Тогда сумма будет равна 9 + 4 + 3.
int sum = 0;
for (int i = 0; i < 3; i++) {
int digit = a % 10;
sum = sum + digit;
a = a / 10;
}
System.out.println(sum);
В Паскале вместо знака процента % используется ключевое слово mod.
Ну и вообще синтаксис языка другой.
Аленчик ***
решить надо через for
Free Pascal:
var i, n, s: integer; begin write('n: ');
readln(n); n := abs(n); for i := 1 to 3 do
begin s := s + n mod 10; n := n div 10 end;
writeln(s) end.
P.S. Оператор n:=abs(n); тут нужен затем, что, например, число -124 тоже трёхзначное, и если не будет abs можно получить отрицательную сумму цифр.
var i, n, s: integer; begin write('n: ');
readln(n); n := abs(n); for i := 1 to 3 do
begin s := s + n mod 10; n := n div 10 end;
writeln(s) end.
P.S. Оператор n:=abs(n); тут нужен затем, что, например, число -124 тоже трёхзначное, и если не будет abs можно получить отрицательную сумму цифр.
Python
result = 0
for x in input("n: "): result += int(x)
print(result)
result = 0
for x in input("n: "): result += int(x)
print(result)
для с#:
string num = Console.ReadLine();
int sum = 0;
foreach (char it in num)
{
sum += int.Parse(it.ToString());
}
решение через while:
int num = int.Parse(Console.ReadLine());
int sum = 0;
while (num > 0)
{
sum += num % 10;
num /= 10;
}
string num = Console.ReadLine();
int sum = 0;
foreach (char it in num)
{
sum += int.Parse(it.ToString());
}
решение через while:
int num = int.Parse(Console.ReadLine());
int sum = 0;
while (num > 0)
{
sum += num % 10;
num /= 10;
}
Похожие вопросы
- Помогите пожалуйста решить задачу по программированию (Pasсal ABC.net).
- Как решить задачу?8 класс
- Помогите, пожалуйста, решить задачу по информатике.
- Помогите решить задачу по информатике . Задача внутри
- Помогите решить задачу по информатике! Питон
- ПОМОГИТЕ РЕШИТЬ ЗАДАЧИ "ОДНОМЕРНЫЕ МАССИВЫ" ПО ИНФОРМАТИКЕ ПОЖАЛУЙСТА БЫСТРЕЕ!. ЗА ПРАВИЛЬНЫЕ ОТВЕТЫ ЛАЙКАЮ
- Помогите решить задачу систем счисления по информатике. пожалуйста
- Помогите пожалуйста решить задачи по информатике
- Помогите решить задачи по информатике плиз
- Решите задачу по информатику с пояснением