젓가락 문 제 를 교묘 하 게 풀다.
992 단어 C 언어
n 개의 젓가락 이 있 는데 길 이 는 length 이 고 그 중 하 나 는 짝 이 맞지 않 는 것 이 므 로 길 이 를 찾 아 보 세 요.
예 를 들 어 int arr [] = {1, 2, 3, 6, 2, 6, 3}, 그러면 1 로 돌아 갑 니 다.
해결 방법 은 매우 많다.
1. 정렬, 매번 두 개 를 판단 하고 그 두 개가 같 지 않 으 면 두 시계의 첫 번 째 수 를 되 돌려 줍 니 다.
2. 하나의 구 조 를 만 들 고 그 중 하 나 는 젓가락 의 길이 이 고 하 나 는 횟수 이 며 입력 한 배열 을 옮 겨 다 닌 다.찾 는 횟수 는 0 보다 많 지만 짝수 의 수 는 아니다.
3. 한 번 이상 또는.
방안 1 과 2 는 언급 하지 않 겠 습 니 다. 방안 3 의 알고리즘 이 가장 좋 습 니 다. 간단하게 말씀 드 리 겠 습 니 다.
먼저 다른 것 을 보 거나 다른 것 을 보 는 성질 중 하 나 는:
A^B^C^A^C = (A^A)^(C^C)^B = 0^0^B = 0^B = B。
내 려 오 면 코드 로 말 하 세 요.
#include
int getchopstikes(int arr[],int size)
{
int i = 0;
int ret = 0;
if (arr == NULL || size < 1)
{
return 0;
}
for (i = 0; i < size; ++i)
{
ret ^= arr[i];
}
return ret;
}
int main(void)
{
int ret;
int arr[] = {1,1,8,1,1,1,1};
ret = getchopstikes(arr,sizeof(arr)/sizeof(arr[0]));
printf("%d
",ret);
return 0;
}
알 겠 지?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.