4101. Трехзначные числа

 

Найдите все трехзначные числа, сумма цифр которых равна n.

 

Вход. Одно число n (0 ≤ n ≤ 28).

 

Выход. В первой строке выведите количество найденных трехзначных чисел. В следующих строках выведите сами трехзначные числа в порядке возрастания.

 

Пример входа

Пример выхода

3

6

102

111

120

201

210

300

 

 

РЕШЕНИЕ

циклы

 

Анализ алгоритма

Переберем цифры сотен, десятков и единиц и найдем все трехзначные числа, сумма цифр которых равна n.

 

Реализация алгоритма

Читаем входное значение n.

 

scanf("%d",&n);

res = 0;

 

Перебираем цифры i, j, k трехзначного числа и подсчитываем количество троек (i, j, k), сумма которых равна n. Число сотен i не может равняться нулю, поэтому 1 ≤ i ≤ 9.

 

for(i = 1; i <= 9; i++)

for(j = 0; j <= 9; j++)

for(k = 0; k <= 9; k++)

  if (i + j + k == n) res++;

 

Выводим количество найденных трехзначных чисел.

 

printf("%d\n",res);

 

Снова перебираем цифры сотен, десятков и единиц и выводим все трехзначные числа, сумма цифр которых равна n.

 

for(i = 1; i <= 9; i++)

for(j = 0; j <= 9; j++)

for(k = 0; k <= 9; k++)

  if (i + j + k == n) printf("%d%d%d\n",i,j,k);

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int n = con.nextInt();

 

    int i, j, k, res = 0;

    for(i = 1; i <= 9; i++)

    for(j = 0; j <= 9; j++)

    for(k = 0; k <= 9; k++)

      if (i + j + k == n) res++;

 

    System.out.println(res);

 

    for(i = 1; i <= 9; i++)

    for(j = 0; j <= 9; j++)

    for(k = 0; k <= 9; k++)

      if (i + j + k == n) System.out.printf("%d%d%d\n",i,j,k);

    con.close();

  }

}

 

Python реализация

 

n = int(input())

 

res = 0;

for i in range(1,10):

  for j in range(0, 10):

    for k in range(0, 10):

      if (i + j + k == n): res = res + 1;

 

print(res);

 

for i in range(1,10):

  for j in range(0, 10):

    for k in range(0, 10):

      if (i + j + k == n): print(str(i) + str(j) + str(k));