Üçrəqəmli ədədlər#2097

Üçrəqəmli ədədlər (Həll təhlili)

Alqoritm Analizi

-dan -yə qədər olan bütün üçrəqəmli ədədləri təkrarlayacağıq. Əgər ədədin bütün rəqəmləri fərqlidirsə, onda onu çap edəcəyik.

Alqoritm Tətbiqi

diff funksiyası üçrəqəmli ədəd -i qəbul edir. Biz bundan yüzlər , onlar və vahidlər rəqəmlərini çıxarırıq. Əgər ədəd -in bütün rəqəmləri fərqlidirsə, diff funksiyası 1 qaytarır.

int diff(int n)
{
    int a = n / 100;
    int b = (n / 10) % 10;
    int c = n % 10;
    return (a != b) && (b != c) && (a != c);
}

Proqramın əsas hissəsi. Biz giriş dəyərləri və -ni oxuyuruq.

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

[, ] intervalında olan bütün ədədlər üzərində iterasiya edirik. Əgər cari ədəd -nin bütün rəqəmləri fərqlidirsə, onda onu çap edirik.

for(i = a; i <= b; i++)
    if(diff(i))
        printf("%d\n",i);

Java Tətbiqi

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 Tətbiqi

diff funksiyası üçrəqəmli ədəd -i qəbul edir. Biz bundan yüzlər , onlar və vahidlər rəqəmlərini çıxarırıq. Əgər ədəd -in bütün rəqəmləri fərqlidirsə, diff funksiyası 1 qaytarır.

def diff(n):
    a = n // 100
    b = (n // 10) % 10
    c = n % 10
    return a != b and b != c and a != c

Proqramın əsas hissəsi. Biz giriş dəyərləri və -ni oxuyuruq.

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

[, ] intervalında olan bütün ədədlər üzərində iterasiya edirik. Əgər cari ədəd -nin bütün rəqəmləri fərqlidirsə, onda onu çap edirik.

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