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 내부에 리턴을 넣습니다.
그런 다음 작동했습니다.
인상.
코드를 작성하는 것과 함수를 작성하는 것은 약간 다른 것 같습니다.