그래서 나는 C
6 개의 숫자로 읽는 이 함수를 가지고 있는데 , 함수의 끝에 도달하기 위해서는 특정 패턴에 맞아야합니다.
void phase() {
int numbers[6];
read_six_numbers(numbers);
if(numbers[0] < 0) explode();
for(int i=1; i!=6; ++i) {
int a = i + numbers[i-1];
if(numbers[i]!=a) explode();
}
}
나를 버리는 것은 ++i
루프에 있습니다. 나는 ++i
vs 의 차이를 찾아 봤는데 i++
숫자를 반복 할 때 정말 중요하지 않은 것 같습니다. 그러나 explode()
호출 하지 않고는이 함수의 끝에 도달 할 수있는 6 개의 숫자를 찾을 수없는 것 같습니다 .
요컨대,이 경우 ++i
vs가 i++
중요합니까? 내가 말했듯이 차이점을 조사 해보면 그럴 것 같지 않습니다. 종이에 문제를 해결할 때 루프의 끝까지 성공적으로 도달 할 수 없지만 뭔가 잘못하고있는 것입니까? 아니면 그냥 질문을 너무 많이 생각하고 계십니까?
이 경우 사전 증가 대 사후 증가는 관련이 없습니다.
다음은 하나의 솔루션 (0, 1, 3, 6, 10, 15)입니다.
#include <stdio.h>
void explode(int n) {
printf("Exploded at %d\n", n);
}
void phase() {
int numbers[6] = {0, 1, 3, 6, 10, 15};
if (numbers[0] < 0) explode(0);
for (int i = 1; i != 6; ++i) {
int a = i + numbers[i-1];
if (numbers[i] != a) explode(i);
}
}
int main(int argc, char *argv[]) {
phase();
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다