나무의 여덟 개의 동전 문제
8 개의 동전 을 3 조로 나눈다. a, b, c 1 조, d, e, f 1 조, g, h 1 조
우선 abc 와 def 를 각각 천평 양측 에 놓 으 면 세 가지 비교 결과 가 나 올 수 있 습 니 다.
(1)a+b+c>d+e+f
(2)a+b+c=d+e+f
(3)a+b+c
만약 a + b + c > d + e + f 라면 이 여섯 개의 동전 중 하 나 는 위조지폐 라 는 것 을 확신 할 수 있 을 뿐만 아니 라 g 와 h 를 진짜 화폐 라 는 것 도 설명 할 수 있다.이때 천평 양 끝 을 각각 동전 하 나 를 제거 할 수 있 습 니 다. c 와 f 를 제거 하 는 동시에 a 와 e 를 교환 한 다음 에 두 번 째 비 교 를 할 수 있 습 니 다. 비교 하 는 구 조 는 똑 같이 세 가지 가 있 습 니 다.
① a + e > d + b: 변 경 된 후 양쪽 의 경중 관계 가 변 하지 않 는 다 는 것 을 나타 내 고 위 폐 는 반드시 a 와 d 중 하나 임 을 나타 낸다. 이때 우 리 는 진짜 화폐 (예 를 들 어 h) 와 a 를 비교 하면 위 폐 를 찾 을 수 있다.만약 a > h 라면 a 는 비교적 무 거 운 위조지폐 이다.만약 a = h 라면 d 는 비교적 가 벼 운 위조지폐 이다.이 가능 하 다, ~ 할 수 없다,...
② a + e = d + h: 위 폐 는 제 거 된 두 개의 동전 c 와 f 에서 다른 절 차 는 ① 과 같다 는 것 을 나타 낸다.
③a+e
(2) (3) 상황 절차 유사 (1) 분석
그림:
#include
#include
using namespace std;
//
void print(int jia, int zhen, int i)
{
if(jia > zhen)
{
cout< d+e+f | a+b+c == d+e+f | a+b+c < d+e+f
int abc = arr[0] + arr[1] + arr[2];
int def = arr[3] + arr[4] + arr[5];
int a = arr[0];
int b = arr[1];
int c = arr[2];
int d = arr[3];
int e = arr[4];
int f = arr[5];
int g = arr[6];
int h = arr[7];
if(abc > def) //6 ,g,h
{
if((a + e) > (d + b)) // c,f, b,e , , , a,d
{
compare(a, d, g,1,3);
}
else if((a + e) == (d + b))
{
compare(c,f,g,2,5);
}
else
{
compare(b,e,g,1,4);
}
}
else if(abc == def) // g,h ,
{
if(g == a)
{
print(h,g,7);
}
else
{
print(g,h, 6);
}
}
else //abc < def ,g,h
{
if((a + e) > (d + b))
{
compare(b,e,g,1,4);
}
else if((a + e) == (d + b))
{
compare(c,f,g,2,5);
}
else
{
compare(a, d, g,1,3);
}
}
}
int main()
{
int i = 0;
int arr[8];
// a、b、c、d、e、f、g、h
cout<>arr[i];
}
eightcoin(arr);
system("pause");
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 디지털 처리 클래스 상용 방법 집합오늘 은 자바 의 디지털 처리 류 와 관련 된 내용 을 배 웠 습 니 다. 그 중에서 흔히 볼 수 있 는 방법 이 많 습 니 다. DecimalFormat 의 format () 과 apply Format () 방법 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.