Alqoritm Analizi
ədədinin bölənləri üzərində 2-dən -ə qədər iterasiya edəcəyik və minimumu çıxaracağıq. Əgər aralığında heç bir bölən tapılmadısa, cavab özü ədədi olacaq.
Nümunə
Əgər isə, onun ən kiçik böləni 3 olacaq.
Əgər (əsas ədəd) isə, onun ən kiçik böləni 13 olacaq.
Alqoritmin Tətbiqi
Giriş dəyəri -i oxuyun.
scanf("%d", &n);
flag = 0
qoyun. Mümkün bölənlər üzərində 2-dən -ə qədər iterasiya edin. İlk (ən kiçik) böləni tapdıqda, flag = 1
qoyun, böləni çıxarın və dövrü dayandırın.
flag = 0; for (i = 2; i <= sqrt(n); i++) if (n % i == 0) { printf("%d\n", i); flag = 1; break; }
Əgər bölən tapılmadısa, onda ədədi əsas ədəddir. Onu çıxarın.
if (flag == 0) printf("%d\n", n);
Java Tətbiqi
import java.util.*; class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); int n = con.nextInt(); int flag = 0; for (int i = 2; i <= Math.sqrt(n); i++) if (n % i == 0) { System.out.println(i); flag = 1; break; } if (flag == 0) System.out.println(n); con.close(); } }
Python Tətbiqi
import math n = int(input()) for i in range(2, math.isqrt(n)+1): if n % i == 0: print(i) break else: # dövr öz-özünə bitdikdə buraya gələcəyik print(n)