0
点赞
收藏
分享

微信扫一扫

C++找次品

Separes 2022-03-11 阅读 53


​​今天我们在数学课上学习了用天平找次品。​​

(以下几张图片课本库网)

C++找次品_后端

C++找次品_后端_02

哈哈,根据道理我又能写程序了。

//Author:PanDaoxi
#include <iostream>
using namespace std;
int x,y,z;
int find(int n){
if(x==2||y==2){
cout<<1<<" "<<1<<endl;
return 0;
}
if(x==1&&y==1) return 0;
z=n%3,x=n/3,y=n/3;
y=x;
if(z==2){
x++;
}
else if(z==1) y++;
else x=y;
cout<<x<<" "<<x<<" "<<y<<endl;
find(x>y?x:y);
}
int main(){
int n;
cin>>n;
if(n==1){
cout<<-1<<endl;
return 0;
}
find(n);
return 0;
}

这个程序可以输出具体的称重过程:

C++找次品_c++_03

也可以根据范围,求出需要的次数,在这里不写了。

例如有100个零件,100在3​4​~3​5​之间,则需要5次即可。



举报

相关推荐

0 条评论