2-amaliy ish Mavzu: Eyler funksiyasi, berilgan modul bo‘yicha birlamchi ildizni hisoblovchi dasturiy ta‘minoti ishlab chiqish.
10 - Variant
Eyler funksiyasining multiplikativligi – Eyler funksiyasining asosiy xossalaridan biri bu uning multiplikativligidadir. Ikki o‘zaro tub sonlar uchun Eyler funksiyasining qiymati
ga teng bo‘ladi.
Natural son uchun Eyler funksiyasi qiymati quyidagicha hisoblanadi:
bu yerda tub son bo‘lib, ning barcha tub bo‘luvchilarini o‘z ichiga oladi.
Endi o‘zimni variantimni qo‘yib hisoblayman.
Agar n tub son bo‘lsa = n-1 ga teng bo‘ladi. n = 52; 24
Demak n = 52 Eyler funksiyasi qiymati = 24
Endi o‘zimga berilgan variantdagi sonni Eyler funksiyasi qiymatini tekshirish uchun dasturiy kodi tuzaman.
Dastur kodi: import java.util.Scanner;
public class EulerFunction {
// Eyler funksiyasini hisoblash
public static long eulerFunction(long n) {
long result = n; // Natijaga n ni tenglashi mumkin, lekin undan avval nisbatan ko'p sonlarga ularni olib tashlamak uchun
for (long i = 2; i * i <= n; i++) {
if (n % i == 0) {
result -= result / i;
while (n % i == 0) {
n /= i;
}
}
}
if (n > 1) {
result -= result / n;
}
return result;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// Eyler funksiyasini hisoblash uchun test soni
long testNumber = 12; // O'zgartirilayotgan son
System.out.print("Sonni kiriting: ");
testNumber = input.nextLong();
long result = eulerFunction(testNumber);
System.out.println("Eyler funksiyasi (" + testNumber + ") = " + result);
}
}