问题描述
解决方案
#include <iostream>
using namespace std;
int main(){
for(int i = 0; i < 40; ++i){
for(int j = 1; j < 43; ++j){
if(i > j)continue;
if(i * 23 + j * 19 == 823){
cout<<i<<" "<<j<<endl;
}
}
}
return 0;
}
结果11
解决方案二:
这个是蓝桥杯省赛的题?还是自己学校的选拔提?
解决方案三:
#include
using namespace std;
int main()
{
int x,y;//x->啤酒,y->饮料
for(y=1;y<=43;y++)
{
for(int x=y-1;x>=0;x--)
{
if(x*2.3+y*1.9<82.3) break;
if(2.3*x+1.9*y==82.3)
{
cout<<x<<endl;
}
}
}
return 0;
}
结果在Dev上测评是11.
解决方案四:
判断两个浮点数是否相等是不能直接用==的,t == 82.3这个条件始终不满足,也就形成了死循环,不会有结果了
解决方案五:
include
int main(void)
{
int x,y;//x is beer
for(y = 1; y < 44; ++ y)
{
for( x = 0; x < y; ++x)
{
if( 82.3 == 2.3 * x + 1.9 * y)
{
printf("啤酒数量为 : %d ",x);// 11
}
}
}
return 0;
}
时间: 2024-11-29 08:55:14