Lightoj 1289 - LCM from 1 to n solution in Bangla
āĻĒ্āϰāĻŦāϞেāĻŽāĻিāϤে āĻāĻŽাāĻĻেāϰāĻে āĻāĻāĻি āϏংāĻ্āϝা n āĻĻেā§া āĻĨাāĻāĻŦে । āĻāĻŽাāĻĻেāϰāĻে ā§§ āĻšāϤে āϏেāĻ āϏংāĻ্āϝা āĻ
āĻŦāϧি āϞ.āϏা.āĻু (LCM) āĻŦেāϰ āĻāϰāϤে āĻšāĻŦে। āĻĒ্āϰāĻŦāϞেāĻŽāĻি āϏāĻŽাāϧাāύ āĻāϰাāϰ āĻļুāϰুāϤেāĻ āĻāĻŽāϰা Constrains āĻāϰ āĻĻিāĻে āϝāĻĻি āĻĻেāĻি , āϏেāĻাāύে n āĻšāϤে āĻĒাāϰে 10^8 । āĻāϰ āĻেāϏ্āĻāĻেāϏেāϰ āϏংāĻ্āϝা āĻšāϤে āĻĒাāϰে 10^4 । āϤো āĻāĻŽāϰা āϝāĻĻি āϏাāϧাāϰāĻŖ āĻাāĻŦে āϞুāĻĒ āĻাāϞিā§ে LCM āĻŦেāϰ āĻāϰāϤে āϝাāĻ āϤাāĻšāϞে āĻāĻŽāϰা TLE āĻেā§ে āϝাāĻŦো āϏেāĻা āύিāĻļ্āĻিāϤ । āϤো āĻāĻāύ āĻāĻŽāϰা āĻি āĻāϰāϤে āĻĒাāϰি ?? đ¤
āĻāĻ্āĻা āĻāĻŦাāϰ āĻāĻŽāϰা ⧍āĻো āϏংāĻ্āϝাāϰ āĻŽāϧ্āϝে LCM āĻāĻŦং GCD āĻŦেāϰ āĻāϰা āĻļিāĻি (āĻāϏāϞে āĻāĻŽāϰা āϏāĻŦাāĻ āϏেāĻা āĻাāύি । đ
āϤো āĻŽāύে āĻāϰি āĻĻুāĻো āϏংāĻ্āϝা a āĻāĻŦং b । āĻāĻŽāϰা āĻাāύি āϝে , āϝেāĻোāύো āϏংāĻ্āϝাāĻে prime āϏংāĻ্āϝাāϰ āĻুāύাāĻাāϰে āĻĒ্āϰāĻাāĻļ āĻāϰা āϝাā§ ।
āϤাāĻšāϞে āĻāĻŽāϰা a āĻāĻŦং b āĻে āϞিāĻāϤে āĻĒাāϰি ,
a = p1^x1 * p2^x2 * ......
b = p1^y1 * p2^y2 * ......
āĻāĻāύ gcd_of_x_y = p1^min(x1,y1) * p2^min(x2,y2) * ......
āĻāĻŦং lcm_of_x_y = p1^max(x1,y1) * p2^max(x2,y2) * ......
āĻāĻĻাāĻšāϰāĻŖ āĻšিāϏেāĻŦে ā§§ā§Ŧ āĻāĻŦং ⧍ā§Ļ āĻāϰ gcd āĻāĻŦং lcm āĻŦেāϰ āĻāϰি,
Prime factorization of 20 = 2^2 * 5
Prime factorization of 14 = 2 * 7
gcd_of (20,14) = 2^min(1,2) * 5^min(1,0) * 7^min(0,1)
=2^1 * 5^0 * 7^0
=2
lcm_of(20,14)= 2^max(1,2) * 5^max(1,0) * 7^max(0,1)
=2^2 * 5^1 * 7^1
=4*5*7
=140
āϤো āĻāĻŽāϰা āĻĻুāĻো āϏংāĻ্āϝাāϰ āĻিāĻাāĻŦে lcm āĻāĻŦং gcd āĻŦেāϰ āĻāϰāϤে āĻšā§ āĻļিāĻে āĻেāϞাāĻŽ। āĻāĻāύ āĻ
āύেāĻ āĻুāϞো āϏংāĻ্āϝাāϰ āĻāύ্āϝāĻ āϏেāĻāĻŽ āĻেāĻāύিāĻ ।
a = p1^x1 * p2^x2 * ......
b = p1^y1 * p2^y2 * ......
c = p1^z1 * p2^z2 * ......
b = p1^m1 * p2^m2 * ......
gcd_of(a,b,c,d) = p1^min(x1,y1,z1,m1) * p2^min(x2,y2,z2,m2) * ......
lcm_of(a,b,c,d) = p1^max(x1,y1,z1,m1) * p2^max(x2,y2,z2,m2) * ......
āϤো āĻāĻŽাāĻĻেāϰ āĻĒ্āϰāĻŦāϞেāĻŽāĻিāϤে āĻāĻŽাāĻĻেāϰ lcm āĻŦেāϰ āĻāϰāϤে āĻšāĻŦে । āϏেāĻāĻāύ্āϝ āĻāĻŽাāĻĻেāϰ ā§§ āĻĨেāĻে n āĻ
āĻŦāϧি āϏāĻŦ āϏংāĻ্āϝাāϰ āĻĒ্āϰাāĻāĻŽ āĻুāϞোāϰ āĻŽ্āϝাāĻ্āϏিāĻŽাāĻŽ āĻĒাāĻā§াāϰ āĻাāύāϤে āĻĒাāϰāϞেāĻ āĻāĻŽāϰা āĻāĻা āĻŦেāϰ āĻāϰāϤে āĻĒাāϰāĻŦো ।āϏেāĻāĻāύ্āϝ āϤো āĻāĻŦাāϰ āϏāĻŦ āϏংāĻ্āϝাāĻুāϞোāĻে prime factorize āĻāϰে āĻĻেāĻāϤে āĻšāĻŦে । āϏেāĻাāĻ āϤো āĻ
āύেāĻ āϏāĻŽā§েāϰ āĻŦ্āϝাāĻĒাāϰ āĻŽাāύে TLE । āĻāĻāύ āĻি āĻāϰা āϝাā§ đ¤।
āĻāĻ্āĻা āĻāĻŽāϰা n =10 āĻāϰ āĻāύ্āϝ āĻāĻāĻু āĻেāώ্āĻা āĻāϰে āĻĻেāĻি āϤো ,
1 = 2^0 * 3^0 *...đ
2 = 2^1
3 = 3^1
4 = 2^2
5 = 5^1
6 = 2*3
7 = 7^1
8 = 2^3
9 = 3^2
10 = 2*5
LCM_of(1,2,....,10) = 2^3 * 3^2 * 5 * 7
= 2520
ā§§ā§Ļ āĻāϰ āĻĨেāĻে āĻোāĻ āĻŦা āϏāĻŽাāύ āĻĒ্āϰাāĻāĻŽ āĻāĻে ā§Ē āĻি (⧍,ā§Š,ā§Ģ,ā§)
āĻāĻŦাāϰ āϝāĻĻি lcm āĻāϰ āĻĻিāĻে āĻĨাāĻাāĻ , lcm āĻ ā§¨,ā§Š,ā§Ģ,ā§ āĻŽিāύিāĻŽাāĻŽ ā§§ āĻŦাāϰ āĻāϰে āĻāĻেāĻ ।
āϤাāĻšāϞে āĻāĻŽāϰা āĻŦāϞāϤে āĻĒাāϰি lcm āĻ āϤাāϰ āĻĨেāĻে āĻোāĻ āĻŦা āϏāĻŽাāύ āĻĒ্āϰাāĻāĻŽ āϏংāĻ্āϝা āĻুāϞো āĻāĻāĻŦাāϰ āĻ
āύ্āϤāϤ āĻĨাāĻāĻŦেāĻ । āϏেāĻāĻāύ্āϝ āĻāĻŽāϰা āĻāĻাāĻে precalculate āĻāϰে āϰাāĻāϤে āĻĒাāϰি ।
āĻিāύ্āϤু lcm_of (1,2,..10) āϤে āϤো 2^3 āĻāĻŦং 3^2 āĻāĻে । āĻāĻŽāϰা āϏেāĻা āĻিāĻাāĻŦে āĻĒাāĻŦো đ¤।
āĻāĻ্āĻা āĻāĻŽāϰা ā§§ā§Ļ āĻে ⧍ āĻĻিā§ে āĻā§āĻŦাāϰ āĻাāĻ āĻāϰāϤে āĻĒাāϰি ??
ā§§ā§Ļ/⧍=ā§Ģ
ā§Ģ/⧍=⧍
⧍/⧍=⧧
āĻŽাāύে ā§§ā§Ļ āĻে āĻāĻŽāϰা ā§Š āĻŦাāϰ āĻাāĻ āĻāϰāϤে āĻĒাāϰি ⧍ āĻĻিā§ে ।
āĻāĻŦাāϰ ā§§ā§Ļ āĻে ā§Š āĻĻিā§ে āĻাāĻ āĻā§āĻŦাāϰ āĻাāĻ āĻāϰāϤে āĻĒাāϰি ।
ā§§ā§Ļ/ā§Š=ā§Š
ā§Š/ā§Š=ā§§
āϤাāĻšāϞে ā§§ā§Ļ āĻে ā§Š āĻĻিā§ে ⧍ āĻŦাāϰ āĻাāĻ āĻāϰা āϝাāĻ্āĻে ।
āĻāĻŽāϰা āĻি āĻāϰ āĻĒāϰেāϰ āĻĒ্āϰাāĻāĻŽ āĻুāϞো āĻĻিā§ে āĻেāĻ āĻāϰāĻŦো??
āύাāĻš , āĻāϰāĻŦো āύাāĻš। āĻাāϰāĻŖ āĻāĻŽāϰা ā§§ā§Ļ āĻĨেāĻে āĻোāĻ āĻŦা āϏāĻŽাāύ āĻĒ্āϰাāĻāĻŽāĻুāϞো āĻāĻেāĻ precalculate āĻāϰে āϰাāĻāĻŦো āĻāϰ āϏেāĻাāύ āĻĨেāĻে āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦো ।
āϤো āĻāϤ āĻ
āĻŦāϧি āĻĒ্āϰাāĻāĻŽ āĻুāϞো āĻĻিā§ে āĻেāĻ āĻāϰāĻŦো āϏেāĻা āĻāϤāĻŦাāϰ āĻাāĻ āϝাāĻ্āĻে??
āϏেāĻা āĻšāĻŦে sqrt(n) । āĻাāϰāĻŖ āĻāϰ āĻেā§ে āĻŦā§ āĻোāύ āĻĒ্āϰাāĻāĻŽেāϰ āĻĒাāĻā§াāϰ ⧍ āĻšāϞেāĻ āϏেāĻা n āĻĨেāĻে āĻŦā§ āĻšā§ে āϝাāĻŦে ।
āĻāĻŦাāϰ āĻĻেāĻি Precalculate āĻāϰāĻি āĻা āĻি
āĻĒ্āϰāĻĨāĻŽেāĻ āĻāĻŽāϰা 10^8 āĻ
āĻŦāϧি āϏāĻŦ āĻĒ্āϰাāĻāĻŽ āĻŦেāϰ āĻāϰে āύিāĻŦো ।
āϤাāϰāĻĒāϰ āĻāĻāĻা āĻ
্āϝাāϰেāϤে āĻĒ্āϰাāĻāĻŽ āĻুāϞোāĻে āĻুāύāĻাāϰে āϰাāĻāĻŦো , āϤাāĻšāϞে āĻĒ্āϰāϤিāĻি āĻĒ্āϰাāĻāĻŽ āĻāĻāĻŦাāϰ āĻāϰে āĻুāύাāĻাāϰে āĻĒেā§ে āϝাāĻŦো।
store[i]=store[i-1]*prime[i];
āϝেāĻšেāϤু āĻāĻŽāϰা āĻāĻāĻŦাāϰ āĻāϰে āĻĒ্āϰাāĻāĻŽ āϰেāĻে āĻĻিāĻ্āĻি , āϤাāĻ āĻĒāϰে āϝāĻāύ āĻāĻŦাāϰ sqrt(n) āĻāϰ āĻāĻেāϰ āĻĒ্āϰাāĻāĻŽ āĻুāϞো āĻĻিā§ে āĻেāĻ āĻāϰāĻŦো , āϤāĻāύ āĻāĻāĻŦাāϰ āĻাāĻ āĻāϰে āύিāĻŦো ।
āĻĒ্āϰāĻŦāϞেāĻŽে āĻāĻŽাāĻĻেāϰāĻে 2^32 āĻĻিā§ে mod āĻāϰāϤে āĻŦāϞেāĻে । āϏেāĻা āĻāĻŽāϰা unsigned int āύিāϞে āĻ
āĻোāĻŽেāĻিāĻ āĻšā§ে āϝাāĻŦে ।
āĻāĻļা āĻāϰি āĻĒ্āϰāĻŦāϞেāĻŽāĻি āĻāĻŦাāϰ āϏāĻŽাāϧাāύ āĻāϰāϤে āĻĒাāϰāĻŦো ।
āĻŦুāĻāϤে āĻĒাāϰāϞেāĻ āĻāĻŽেāύ্āĻ āĻāϰāϤে āĻĒাāϰেāύ , āĻŦুāĻāϤে āύা āĻĒাāϰāϞেāĻ āĻāĻŽেāύ্āĻ āĻāϰāϤে āĻĒাāϰেāύ āĻি āĻŦুāĻেāύ āύি āϏেāĻা ।
'
1 Comments
Notun likha chai