πŸ”„ Algorithm/etc

μžλ°”(Java) μ†Œμˆ˜ νŒλ³„ν•˜κΈ°

kongmi 2023. 1. 12. 20:12

문제

 μ†Œμˆ˜λž€?? 1κ³Ό μžκΈ°μžμ‹  μ΄μ™Έμ—λŠ” λ‚˜λˆ„μ–΄ μ§€μ§€ μ•ŠλŠ” 수

μ •μˆ˜ 값을 μž…λ ₯ λ°›μ•„, μž…λ ₯ 받은 μ •μˆ˜κ°’ 미만의 μ†Œμˆ˜μ˜ 합을 κ΅¬ν•˜λΌ.

μž…λ ₯

12

좜λ ₯

28
package μ†Œμˆ˜νŒλ³„ν•˜κΈ°λ¬Έμ œ0111;
import java.util.Scanner;

public class PrimeEx1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("μ •μˆ˜ μž…λ ₯ : ");
        int num = sc.nextInt();
        int sum = 0; // μž…λ ₯ 받은 μ •μˆ˜ 미만의 μ†Œμˆ˜μ˜ ν•© λˆ„μ 
        // 반볡문 μˆ˜ν–‰ : μž…λ ₯ 받은 μ •μˆ˜ 미만의 κ°’μœΌλ‘œ λ©”μ†Œλ“œ 호좜 ( 12 => 2 ~ 11)
        for(int i = 2; i < num; i++) {
            sum += primeSum(i);
        }
        System.out.println("μ†Œμˆ˜μ˜ ν•© : " + sum);
    }

    static int primeSum(int n) {
        boolean isPrime = true; // 기본값을 μ†Œμˆ˜λ‘œ 정함(μ²˜μŒμ— 2κ°€ λ“€μ–΄κ°€λ©΄ ifλ¬Έ λ°”λ‘œ νƒˆμΆœν•˜κΈ° λ•Œλ¬Έμ—)
        for(int i = 2; i < n; i++) { // 1 ν˜Ήμ€ μž…λ ₯ 받은 κ°’μœΌλ‘œ λ‚˜λˆ„λ©΄ 무쑰건 μ†Œμˆ˜κ°€ 되기 λ•Œλ¬Έμ— μ œμ™Έ
            if(n % i == 0) isPrime = false;
    }
        if(isPrime) return n;
        else return 0;
   }

}