[고전 알고리즘]: 동전 무게 측정 문제 및 프로 그래 밍 실현
문제.
1, 4 동전 무게 측정 문제 2, 8 동전 무게 측정 문제 3, 12 동전 무게 측정 문제
전송 문: 문제 풀이
12. 동전 문제 및 풀이: 12 개의 동전 은 무 게 를 모 르 는데 어떻게 세 번 으로 달 수 있 습 니까?해법: (오래 보아 야 알 수 있다) 전송 문:
해법 전송 문
코드 구현: (모두 모 였 습 니 다) 8 개의 동전 은 쓰 지 않 았 습 니 다. 4 개의 동전 과 차이 가 많 지 않 기 때문에 몇 개의 프로그램 을 주의 하 세 요. 저 는 분리 되 어 있 습 니 다.
//
// ,
// author:seen
// time:2015-09-20
//
//4
#include <iostream>
using namespace std;
void main(){
int num[5]={0,1,3,1,1};
if(num[1]+num[2]>num[3]+num[4]){
if(num[3]>num[4]){
cout<<num[4];
}
else if(num[3]<num[4])cout<<num[3];
else{
if(num[1]>num[2]) cout<<num[1];
else cout<<num[2];
}
}
else{
if(num[1]>num[2]){
cout<<num[2];
}
else if(num[1]<num[2])cout<<num[1];
else{
if(num[3]>num[4]) cout<<num[3];
else cout<<num[4];
}
}
}
//12 ,
#include <iostream>
using namespace std;
void main(){
int num[13] ={0,8,1,1,1,1,1,1,1,1,1,1,1};
if(num[1]+num[2]+num[3]+num[4]+num[5]==num[6]+num[7]+num[8]+num[9]+num[10]){
if(num[11]>num[12]){
cout<<num[11];
}
else cout<<num[12];
}
else if(num[1]+num[2]+num[3]+num[4]+num[5]<num[6]+num[7]+num[8]+num[9]+num[10]){
if(num[6]+num[7]>num[8]+num[9]){
if(num[6]>num[7]) cout<<num[6];
else cout<<num[7];
}
else if(num[6]+num[7]==num[8]+num[9]){
cout<<num[10];
}
else{
if(num[8]>num[9]) cout<<num[8];
else cout<<num[9];
}
}
else{
if(num[1]+num[2]>num[3]+num[4]){
if(num[1]+num[2]) cout<<num[1];
else cout<<num[2];
}
else if(num[1]+num[2]<num[3]+num[4]){
if(num[3]>num[4]) cout<<num[3];
else cout<<num[4];
}
else cout<<num[5];
}
}
//12 ,
#include <iostream>
using namespace std;
void main(){
int num[13]={0,1,1,1,2,1,1,1,1,1,1,1,1};
if(num[1]+num[2]+num[3]+num[4]==num[5]+num[6]+num[7]+num[8]){
if(num[1]+num[9]==num[10]+num[11]){
cout<<num[12];
}
else if(num[1]+num[9]<num[10]+num[11]){
if(num[10]==num[11]) cout<<num[9];
else if(num[10]>num[11]) cout<<num[10];
else cut<<num[11];
}
else{
if(num[10]>num[11]) cout<<num[11];
else if(num[10]<num[11]) cout<<num[10];
else cout<<num[9];
}
}
else if(num[1]+num[2]+num[3]+num[4]<num[5]+num[6]+num[7]+num[8]){
if(num[1]+num[2]+num[5]==num[3]+num[6]+num[9]){
if(num[8]==num[7]) cout<<num[4];
else if(num[7]>num[8]) cout<<num[7];
else cout<<num[8];
}
else if(num[1]+num[2]+num[5]<num[3]+num[6]+num[9]){
if(num[1]==num[2]) cout<<num[6];
else if(num[1]<num[2]) cout<<num[1];
else cout<<num[2];
}
else{
if(num[1]==num[3]) cout<<num[5];
else cout<<num[3];
}
}
else{
if(num[1]+num[2]+num[5]==num[3]+num[6]+num[9]){
if(num[8]==num[7]) cout<<num[4];
else if(num[7]>num[8]) cout<<num[7];
else cout<<num[8];
}
else if(num[1]+num[2]+num[5]>num[3]+num[6]+num[9]){
if(num[1]==num[2]) cout<<num[6];
else if(num[1]<num[2]) cout<<num[2];
else cout<<num[1];
}
else{
if(num[1]==num[3]) cout<<num[5];
else cout<<num[3];
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux Shell 프로 그래 밍 - 텍스트 처리 grep, sed사용자 가 지정 한 '모드' 에 따라 대상 텍스트 를 일치 하 게 검사 하고 일치 하 는 줄 을 인쇄 합 니 다. ##포함 되 지 않 음, 역방향 일치 \ ##키워드 앞 뒤 가 맞지 않 고 키워드 만 일치 합 니 다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.