8533. Числа с разными цифрами

 

Выведите все четырехзначные числа от a до b, содержащие разные цифры.

 

Вход. Два целых числа a и b (1000 ≤ ab ≤ 9999).

 

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

 

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

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

2000 2015

2013 2014 2015

 

 

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

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

9875 9999

9875 9876

 

 

РЕШЕНИЕ

циклы

 

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

Переберем все числа i от a до b (aib). Если число i =  содержит разные цифры, то выводим i.

Число  содержит разные цифры, если одновременно выполняются следующие условия: xy,  xz, xu, yz, yu, zu.

 

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

Читаем входные значения a и b.

 

scanf("%d %d",&a,&b);

 

Перебираем все числа от a до b.

 

for(i = a; i <= b; i++)

{

 

Число i четырехзначное. Выделим из него цифру тысяч, сотен, десятков и единиц: i = .

 

  x = i / 1000;

  y = i / 100 % 10;

  z = i / 10 % 10;

  u = i % 10;

 

Если все цифры числа i разные, то выводим i.

 

  if (x != y && x != z && x != u && y != z && y != u && z != u)

    printf("%d ",i);

}

 

printf("\n");

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int a = con.nextInt();

    int b = con.nextInt();

    for(int i = a; i <= b; i++)

    {

      int x = i / 1000;

      int y = i / 100 % 10;

      int z = i / 10 % 10;

      int u = i % 10;

      if (x != y && x != z && x != u && y != z && y != u && z != u)

        System.out.print(i + " ");

    }

  }

}

 

Python реализация

 

a, b = map(int,input().split())

for i in range(a, b+1):

  x = i // 1000

  y = i // 100 % 10

  z = i // 10 % 10

  u = i % 10

  if x != y and x != z and x != u and y != z and y != u and z != u:

    print(i, end=" ")