Festival 문제 오답 (java) rerica [[연습 문제 Festival|problem:FESTIVAL]] 안녕하세요, 오늘 가입해서 FESTIVAL 문제 풀어보려는데, 제출시 오답이 계속 나오네요. 원인을 못찾겠느데 혹시 오답 원인 아시는 분 커멘트 부탁드려요 ㅠㅠ import java.util.Scanner; public class Main { static int C; // case C static int N; // day static int L; // team number static int A[] = new int[1000]; static int minSum=-1; static float minAvg=-1; public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); C = sc.nextInt(); for (int test_case = 1; test_case <= C; test_case++) { N = sc.nextInt(); L = sc.nextInt(); //System.out.println("N="+N +", L=" + L); minAvg = -1; //초기화 for(int i=0; i<N; i++) { A[i] = sc.nextInt(); } // algo for(int day = L; day <= N; day++) { //합 최소 minSum = -1; //초기화 for(int i=0; i<= N-day; i++) { int sum=0; for(int j=i; j<day+i; j++) sum += A[j]; if(minSum < 0 || minSum >sum) minSum = sum; } float avg = (float)minSum / day; //평균 if(minAvg<0 || minAvg > avg) minAvg = avg; } System.out.printf("%.11f", minAvg); System.out.println(); } } } 11년 전
4개의 댓글이 있습니다. Being float는 유효숫자의 자릿수가 매우 적어 이 문제와 같이 정밀한 결과를 요구할 때에는 틀리기 쉽습니다. 11년 전 link Being 다음부터는 코드를 읽기 쉽도록 구문 강조를 해 주세요. 글을 작성하실 때 아래 나오는 도움말을 참조하셔서 ~~~ 로 감싸 주시면 됩니다. 11년 전 link rerica 헉.. double 로 바꿨더니 되네요. float와 double 차이를 잘 모르겠네요..실수는 항상 어렵네요..ㅠㅠ Being 님 감사합니다!!! 11년 전 link Being [[자주 하는 실수 모음]] 페이지의 '소수 처리' 절과 그 아래 '더 알아보기' 의 링크들을 읽어 보세요. 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
rerica
[[연습 문제 Festival|problem:FESTIVAL]]
안녕하세요,
오늘 가입해서 FESTIVAL 문제 풀어보려는데, 제출시 오답이 계속 나오네요.
원인을 못찾겠느데 혹시 오답 원인 아시는 분 커멘트 부탁드려요 ㅠㅠ
import java.util.Scanner;
public class Main {
static int C; // case C
static int N; // day
static int L; // team number
static int A[] = new int[1000];
}
11년 전