概述
一个珠宝商甲要鉴定41克以下的宝石(40克及以下的任意重量),商甲只带一个天平和四个砝码,请问带哪四个砝码?
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <set>
#include <queue>
using namespace std;
bool ok(int x,int a,int b,int c,int d)
{
int i,j,k,l;
for(i=-1;i<=1;i++)
{
for(j=-1;j<=1;j++)
{
for(k=-1;k<=1;k++)
{
for(l=-1;l<=1;l++)
{
int temp=abs(i*a+j*b+k*c+l*d);
if(temp==x)
{
return true;
}
}
}
}
}
return false;
}
bool judge(int a,int b,int c,int d)
{
int i,j;
for(i=1;i<=40;i++)
{
if(!ok(i,a,b,c,d))
{
return false;
}
}
return true;
}
int main()
{
int a,b,c,d;
int flag=0;
for(a=1;a<=40&&!flag;a++)
{
for(b=a;b<=40&&!flag;b++)
{
for(c=b;c<=40&&!flag;c++)
{
for(d=c;d<=40&&!flag;d++)
{
// if(a+b+c+d<39) continue;
if(judge(a,b,c,d))
{
flag=1;
cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
}
}
}
}
}
}
其实是一个三进制数的概念
1+3+9+27 = 40
所以可以都表示
最后
以上就是愤怒心情为你收集整理的3进制数的全部内容,希望文章能够帮你解决3进制数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复