프로그래머(LV.0 이후의 숫자)


C언어 밖에 몰라서 C언어로 풀었습니다.

먼저 주어진 숫자가 같은지 비례하는지 구별하는 표현식을 삽입합니다.

그리고 공통 관계 또는 공통 차이점을 찾으십시오.

그런 다음 마지막 항에 공비를 곱하거나 공비를 더합니다.

나는 생각했다.\

#포함하다
#포함하다
#포함하다

// common_len은 공통 배열의 길이입니다.
int 솔루션(int common(), size_t common_len) {
if(common(common_len-1)-common(common_len-2)==common(common_len)-common(common_len-1))){
int a = 공통(common_len)-common(common_len-1);
정수 응답 = common(common_len)+a;
}
if(common(common_len-1)/common(common_len-2)==common(common_len)/common(common_len-1)){
int b = 공통(common_len)/common(common_len-1);
int 답 = common(common_len)*b;
}
정수 응답 = 0;
답변을 반환;
}

나는 말했다


나는 시험 6만 통과했고 11점을 얻었다.

분석을 계속합시다.

저는 a라는 친구가 없어서 문제가 될 것 같아서 0을 없애기로 했습니다.

/*올바른 코드*/

#포함하다
#포함하다
#포함하다

// common_len은 공통 배열의 길이입니다.
int 솔루션(int common(), size_t common_len) {
정수 응답 = 0;
if(common(common_len-2)-common(common_len-3)==common(common_len-1)-common(common_len-2)){
int a = 공통(common_len-1)-common(common_len-2);
정수 응답 = common(common_len-1)+a;
답변을 반환;
}
if(common(common_len-1)/common(common_len-2)==common(common_len-2)/common(common_len-3)){
int b = 공통(common_len-1)/common(common_len-2);
정수 응답 = common(common_len-1)*b;
답변을 반환;
}
}


오류 처리

런타임 에러가 났는데 런타임 에러를 찾다가


백준에서 이 글을 봤습니다.

그래서 배열의 끝으로 설정한 common(common_len)을 common(common_len-1)으로 변경했습니다.

그리고 변수 선언 응답 =0; if 내부에 리턴을 넣습니다.

그런 다음 작동했습니다.

인상.

코드를 작성하는 것과 함수를 작성하는 것은 약간 다른 것 같습니다.