Аналіз алгоритму
Переберемо всі тризначні числа від до . Якщо всі цифри числа різні, то виводимо його.
Реалізація алгоритму
На вхід функції diff
надходить тризначне число . Виділимо з нього цифри сотень , десятків і одиниць . Функція diff
повертає 1, якщо всі цифри числа різні.
int diff(int n) { int a = n / 100; int b = (n / 10) % 10; int c = n % 10; return (a != b) && (b != c) && (a != c); }
Основна частина програми. Читаємо вхідні значення і .
scanf("%d %d",&a,&b);
Перебираємо всі числа на проміжку [, ]. Якщо в поточному числі всі цифри різні, то виводимо його.
for(i = a; i <= b; i++) if(diff(i)) printf("%d\n",i);
Java реалізація
import java.util.*; public class Main { static boolean diff(int n) { int a = n / 100, b = (n / 10) % 10, c = n % 10; return !((a == b) || (b == c) || (a == c)); } 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++) if(diff(i)) System.out.println(i); con.close(); } }
Python реалізація
На вхід функції diff
надходить тризначне число . Виділимо з нього цифри сотень , десятків і одиниць . Функція diff
повертає 1, якщо всі цифри числа різні.
def diff(n): a = n // 100 b = (n // 10) % 10 c = n % 10 return a != b and b != c and a != c
Основна частина програми. Читаємо вхідні значення і .
a, b = map(int, input().split())
Перебираємо всі числа на проміжку [, ]. Якщо в поточному числі всі цифри різні, то виводимо його.
for i in range(a, b+1): if diff(i): print(i)