BOJ 2581 소수

Jmnote (토론 | 기여)님의 2018년 8월 22일 (수) 23:27 판 (→‎Java)

1 개요

BOJ 2581 소수

[[분류:BOJ {{{단계}}}단계]]

BOJ 단계별로 풀어보기
순번 문제 풀이

틀:BOJ 10단계 틀:BOJ 단계 푸터

2 Java

import java.util.Scanner;
public class Main {
	static boolean is_prime(int n) {
		if( n < 2 ) return false;
		if( n < 4 ) return true;
		if( n%2==0 || n%3==0 ) return false;
		for(int i=5; i*i<=n; i+=6 ) if(n%i==0 || n%(i+2)==0) return false;
		return true;
	}
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int M = sc.nextInt();
        int N = sc.nextInt();
        int sum = 0;
        int min = -1;
        for(int i=N; i>=M; i--) {
            if( is_prime(i) ) {
                sum += i;
                min = i;
            }
        }
        if( sum == 0 ) {
            System.out.println( -1 );
            return;
        }
        System.out.println(sum);
        System.out.println(min);
    }
}

3 PHP

<?php
function is_prime($n) {
    if( $n<2 ) return false;
    for($i=2; $i<=sqrt($n); $i++) if($n%$i == 0) return false;
    return true;
}
$M = intval(fgets(STDIN));
$N = intval(fgets(STDIN));
$min = 10000;
$sum = 0;
for($i=$N; $i>=$M; $i--) {
    if(is_prime($i)) {
        $sum += $i;
        $min = $i;
    }
}
if( $sum == 0 ) {
    echo -1;
    exit;
}
echo $sum ."\n" . $min;

4 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}