μμ μμ ꡬνλ μκ³ λ¦¬μ¦μ λ κ°μ§ μμ보μμ΅λλ€. μ΄λ€μ κ°μ ν μΈ λ²μ§Έ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€. μ¬μ€ μ’ μ΄λ ΅μ΅λλ€. μ μ μ λ°μ§ μ°¨λ¦¬κ³ ... μμν©λλ€.
λ λ²μ§Έ λ°©λ²μ λ€μ νλ² μ΄ν΄λ³΄κ² μ΅λλ€.
<μμ°μ nμ΄ μμμΈμ§ νλ³νλ λ°©λ²>
2 μ΄μ n-1 μ΄νμ λͺ¨λ μμλ‘ λλμμ λ λλμ΄ λ¨μ΄μ§μ§ μλλ€. |
μ΄ λ°©λ²μ μ΄λ»κ² κ°μ ν μ μμκΉμ? λλμ μ νμλ₯Ό μ€μ΄λ©΄ λ©λλ€. μ΄λ―Έ ν μ°¨λ‘ λλμ μ νμλ₯Ό μ€μλλ°, μ΄λ»κ² νλ©΄ λ€μ μ€μΌ μ μμμ§ μκ°ν΄ λ³΄κ² μ΅λλ€.
μ΄μ―€μμ λ€μ ν λ² μκΈ°ν΄μΌ ν κ²μ, μμ ꡬνκΈ°μ λ³Έμ§μ 'μ½μ ꡬνκΈ°'λΌλ κ²μ λλ€. νλ‘κ·Έλ¨ μμμλ n%i==0μ΄ μ±λ¦½ν λ iλ nμ μ½μλΌκ³ νλ¨ν©λλ€.
μ½μ ꡬνκΈ°λ₯Ό νλ©΄μ μ΄λ¬ν λ°©λ²μ μ¬μ©ν΄ λ³Έ μ μ΄ μμ κ²μ λλ€. 100μ μμλ‘ λ€μ΄λ³΄κ² μ΅λλ€.
1 x 100 (λΆνμνλ―λ‘ μ μΈνκ³ μκ°) 2 x 50 4 x 25 5 x 20 10 x 10 20 x 5 25 x 4 50 x 2 100 x 1 (λΆνμνλ―λ‘ μ μΈνκ³ μκ°) |
μΌμͺ½ μ«μμΈ 1, 2, 4, 5, 10, 20, 25, 50, 100μ΄ 100μ μ½μμ λλ€. μ¬κΈ°μ 1 x 100μ΄ λΆνμν μ΄μ λ, n%i μ°μ°μμ iκ°μ 1κ³Ό μκΈ° μμ (n)μ λμ νμ§ μκΈ° λλ¬Έμ λλ€. μ£Όλͺ©ν΄μΌ νλ κ²μ, κ°μ΄λ° 10 x 10μ λμΉμΌλ‘ κ°μ μ°μ°μ΄ λ°λ³΅λλ€λ κ²μ λλ€. 10 x 10 μ΄νλ‘λ λͺ«κ³Ό λλλ μκ° λμΉμΌλ‘ λ°λ³΅λκΈ° λλ¬Έμ κ°μ μ°μ°μ λ λ² ν νμλ μμ΅λλ€. μ¬κΈ°μ 10μ 100μ μ κ³±κ·Ό, μ¦ λ£¨νΈ 100μ λλ€. λ£¨νΈ nμ κΈ°μ€μΌλ‘ κ°μ μ°μ°μ΄ λμΉλ©λλ€. μ΄λ₯Ό μ΄μ©ν΄μ κ³μ°λμ μ€μΌ μ μμ΅λλ€. 10 x 10 μ΄μ μ μμλ‘λ§ λλμ μ μνν ν λλμ΄ λ¨μ΄μ§μ§ μμΌλ©΄ μμλΌκ³ νλ¨ν μ μμ΅λλ€.
κ²°λ‘ μ λλ€.
<μμ°μ nμ΄ μμμΈμ§ νλ³νλ λ°©λ²>
μ κ³±κ·Ό n(λ£¨νΈ n) μ΄νμ λͺ¨λ μμλ‘ λλμμ λ λλμ΄ λ¨μ΄μ§μ§ μλλ€. |
μλ₯Ό λ€μ΄, 29κ° μμμΈμ§ νλ¨ν΄ λ³΄κ² μ΅λλ€.
μ΄μ μκ³ λ¦¬μ¦μΈ λ°©λ²(2)λ₯Ό μ¬μ©νμ λ μνν΄μΌ νλ λλμ μ λ€μκ³Ό κ°μ΅λλ€.
29%2 29%3 29%5 29%7 29%11 29%13 29%17 29%19 29%23 |
ν΄λΉ μ°μ°μ κ°μ μ λΆ 0μ΄ μλλ―λ‘ 29λ μμμ λλ€. μ΄ 9λ²μ λλμ μνμ νμμ΅λλ€. μ΄λ₯Ό κ°μ ν λ°©λ² 3μ μ¬μ©νλ©΄ μ΄λ¨κΉμ? λ°©λ² 3μ ν΅μ¬μ μ κ³±κ·Ό 29, μ¦ √29λ₯Ό μ¬μ©νλ κ²μ λλ€. √29=5.xxμ΄λ―λ‘ κ·Έ μ΄νμ μμλ‘λ§ λλμ΄ λ³΄λ©΄ λ©λλ€. λ€μ λ§ν΄μ, 5 μ΄νμ μμλ‘λ§ λλλ©΄ λλ€λ λ»μ λλ€.
29%2 29%3 29%5 |
μ΄ μ°μ°λ§ ν΄λ³΄λ©΄ λ©λλ€. ν΄λΉ μ°μ°μ κ°μ μ λΆ 0μ΄ μλλ―λ‘ 29λ μμμ λλ€. μ΄ 3λ²μ λλμ μ μννμμ΅λλ€. λλμ νμκ° ν¨μ¬ μ€μ΄λ κ²μ λ³Ό μ μμ΅λλ€. μ κΈ°νμ§ μλμ?
μ¬κΈ°κΉμ§λ§ μ€λͺ νλ©΄ μ κΈ°νκΈ΄ νμ§λ§ μ¬μ€ λ¬΄μ¨ λ§μΈμ§ μ μ΄ν΄κ° μ λ©λλ€. μ μμ 곡리μ²λΌ μκ³ μλ κ²μ λ§μ μ€λͺ νλ €κ³ νλ μ΄λ ΅λλΌκ΅¬μ. λ€λ₯Έ μμλ€μ μ‘°κΈ λ λ³΄κ² μ΅λλ€.
(ν΄λΉ λΈλ‘κ·Έμ μμ΄λμ΄λ₯Ό μ°Έκ³ νμ¬ μμ±νμμ΅λλ€.
29÷2=14.5 29÷3=9.66... 29÷4=7.25 29÷5=5.8 29÷7=4.14... 29÷9=3.22... 29÷14=2.07... |
μ¬κΈ°μ λλλ μμ λͺ«μ μ μ λΆλΆμ 보면 2μ 14, 3μ 9, 4μ 7... μ΄λ° μμΌλ‘ λμ΄ν μ μμ΅λλ€. √29=5.xxμ΄κ³ λλλ μκ° 5 μ΄μμ΄λΌλ©΄ λͺ«μ μ μ λΆλΆμ 5 μ΄νκ° λ©λλ€. 5 μ΄νμ μ μλ‘λ§ λλμ΄ λ³΄μλ, λλλ μμ λͺ«μ μ μ λΆλΆμ 무쑰건 νλκ° 5 μ΄μμ΄λ©΄ λλ¨Έμ§ νλλ 5 μ΄νμ΄κΈ° λλ¬Έμ λ°λ³΅λλ μ°μ°μ μ€μΌ μ μμ΅λλ€.
(λ°©λ²(2)λ₯Ό κ°μ ν λ°©λ²μ΄λ―λ‘ μ¬μ€μ 4, 9, 14λ‘ λλλ κ²λ νμμλ μ°μ°μ΄ λμ§λ§ μ€λͺ μ μν΄ λ§λΆμμ΅λλ€.)
λ ꡬꡬμ μ μ°λ©΄ νλ‘κ·Έλλ° μκ³ λ¦¬μ¦μ΄ μλ μν μμ μ΄ λλ―λ‘ μ¬κΈ°κΉμ§λ§ μ κ² μ΅λλ€. μ μμ μ¦λͺ μ 무리μ λλ€. κ·Έλ₯ λ°μλ€μΌ λΏμ λλ€. (γ γ )
μ΄μ μλ° μ½λλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
public static void main(String[] args) {
int cnt = 0; //λλμ
νμ
int primeCnt = 0; //μ°Ύμ μμμ κ°μ
int[] prime = new int[500]; //μμ μ μ₯
prime[primeCnt++] = 2;
prime[primeCnt++] = 3;
//λ°λ³΅λ¬Έμ λ€μ΄κ°κΈ° μ μ prime[0]=2, prime[1]=3 λ°°μ΄μ λ£κ³ μμ
for(int n=5; n<=500; n+=2) {
//prime λ°°μ΄μ μμ 2μ 3μ΄ μ΄λ―Έ λ€μ΄μμΌλ―λ‘ n=5λΆν° μμ
boolean tmp = false;
for(int i=1; prime[i]*prime[i] <= n; i++) {
cnt += 2;
/*λ κ°μ§ μ°μ°μ μννλ―λ‘ cntλ +2
prime[i]*prime[i] <= nκ³Ό n%prime[i]
*/
if(n % prime[i] == 0) {
tmp = true;
break;
}
}
if(!tmp) {
prime[primeCnt++] = n;
cnt++;
}
}
for(int i=0; i<primeCnt; i++) {
System.out.println(prime[i]); //λ°°μ΄μ λ΄κΈ΄ μμ μΆλ ₯
}
System.out.println("κ³±μ
κ³Ό λλμ
νμ : " + cnt);
}
<μ€ν κ²°κ³Ό>
2 3 5 7 ...(μ€λ΅)... 491 499 κ³±μ κ³Ό λλμ νμ : 1589 |
prime[i]*prime[i]<=nμ μ¬μ©ν΄λ λκ³ , prime[i]<=Math.sqrt(n)μ μ¬μ©ν΄λ λ©λλ€. κ²°κ³Όλ κ°μ΅λλ€. sqrt(n)λ₯Ό μ¬μ©νμ¬ μ κ³±κ·Όμ ꡬνλ©΄ μ€μ κ³μ°μ΄ λ€μ΄κ°λ―λ‘ μ κ³±μ ꡬνλ κ² λ λΉ λ¦ λλ€.
κ³±μ κ³Ό λλμ νμκ° μ€μ΄λ€μ΄ ν¨μ¨μ΄ μ’μμ§ κ²μ νμΈν μ μμ΅λλ€.
(λ°©λ²(2)μ λλμ νμ : 4684 / λ°©λ²(1)μ λλμ νμ : 22279)
λ°©λ² (2)μ λΉμ·νλ―λ‘ μμΈν μ€λͺ μ μλ΅ν©λλ€. 2μ 3μ 미리 λ°°μ΄μ λ£μ΄λκ³ 5 μ΄μμ μμλ₯Ό νλ¨νλ€λ κ²λ§ μΌλμ λμλ©΄ ν¬κ² λ€λ₯Έ μ μ μμ΅λλ€.
μ΄μ μμ ꡬνκΈ° μκ³ λ¦¬μ¦μ λ§λ¬΄λ¦¬νλλ‘ νκ² μ΅λλ€.
μ μ²κΈ° μ€λΉν λ κ°μ₯ μ λ¨Ήμλ μ½λ© λ¬Έμ μ€ νλμ λλ€. μμΌλ‘ λͺλ²μ΄λ μ¨λ΄€μ§λ§ μ΄μνκ² μκΎΈ νλ¦° λ΅μ΄ λμ€λλΌκ΅¬μ. μ± μμλ λ€λ₯Έ μ½λλ‘ λμμμμ§λ§, λ λ€ μ΄λ ΅μ΅λλ€...
Do it! μλ£κ΅¬μ‘°μ ν¨κ» λ°°μ°λ μκ³ λ¦¬μ¦ μ λ¬Έ μλ° νΈμ μ½κ³ μ 리ν κ²μκΈμ λλ€.
μ± μ κ°λ μ λ°νμΌλ‘ μ μ μκ°μ μΆκ°νμ¬ μμ±νμμ΅λλ€.
'π»Study > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μκ³ λ¦¬μ¦] μ€λ ꡬνκΈ° (0) | 2020.08.12 |
---|---|
[μκ³ λ¦¬μ¦] μμ ꡬνκΈ°(2) - μλΌν μ€ν λ€μ€μ 체 (4) | 2020.08.05 |
[μκ³ λ¦¬μ¦] μμ ꡬνκΈ°(1) (0) | 2020.08.05 |
μμ μ μμ κΈΈμ΄ κ΅¬νκΈ° (0) | 2020.08.04 |
String.formatκ³Ό System.out.printf (0) | 2020.08.04 |