@[YSzita](/user/1036057) f开的太小了 另外其实可以用min来求最小值
by PF_anyone @ 2023-07-24 22:43:03
还是不懂……
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c,d=1;
double e,f=1000000.0;
cin>>a>>b>>c;
while(1==1){
if(b*d>=a){
e=c*d*1.0;
break;
}
d++;
}
f=min(f,e);
cin>>b>>c;
d=1;
while(1==1){
if(b*d>=a){
e=c*d*1.0;
break;
}
d++;
}
f=min(f,e);
cin>>b>>c;
d=1;
while(1==1){
if(b*d>=a){
e=c*d*1.0;
break;
}
d++;
}
f=min(f,e);
cout<<f;
return 0;
}
```
by YSzita @ 2023-07-25 20:10:28
第6个例子
by YSzita @ 2023-07-25 20:16:33
@[YSzita](/user/1036057) f还是不够大,如果输入数据有一个
9999
1 9999 那价格飙到快1亿了
```cpp
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,sum1=0,sum2=0,sum3=0,temp;
cin >> n;
temp = n;//保存变量
int package, price;
for (int i = 1; i <= 3; i++)
{
cin >> package >> price;
if (i == 1)
{
while (n > 0)
{
n -= package;
sum1 += price;
}
}
else if(i==2)
{
while (n > 0)
{
n -= package;
sum2 += price;
}
}
else if (i == 3)
{
while (n > 0)
{
n -= package;
sum3 += price;
}
}
n = temp;
}
cout << min(min(sum1, sum2),sum3) << endl;
return 0;
}
```
by PF_anyone @ 2023-07-26 11:52:38
@[YSzita](/user/1036057)
下面这种简洁一点,直接是三个数之间比较,不用加第三方数据
```cpp
#include<iostream>
#include<algorithm>
using namespace std;
long long a[4] = {};//数组保存总价格
int main()
{
int n, temp;
cin >> n;
temp = n;//保存变量
int package, price;
for (int i = 1; i <= 3; i++)
{
cin >> package >> price;
while (n > 0)
{
n -= package;//所需减去一个包装
a[i] += price;//加上一份价格
}
n = temp;
}
cout << min({ a[1], a[2], a[3] }) << endl;//三组数据比较大小输出最小值
return 0;
}
```
by PF_anyone @ 2023-07-26 11:55:55