您好!很高兴为您解答!一个整数除以一个整数的商是自动向下取整的,例如7/2=3.还有,您仍需考虑三个数都相等的情况(即x1==x2 && x1==x3),以下是我在您的程序的基础上修改的结果,如下:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int n,a1,s1,a2,s2,a3,s3;
int x1,x2,x3;
int main()
{
cin>>n>>a1>>s1>>a2>>s2>>a3>>s3;
if(n%a1!=0)
{
x1=ceil(n/a1+1)*s1;
}
else
{
x1=ceil(n/a1)*s1;
}
if(n%a2!=0)
{
x2=ceil(n/a2+1)*s2;
}
else
{
x2=ceil(n/a2)*s2;
}
if(n%a3!=0)
{
x3=ceil(n/a3+1)*s3;
}
else
{
x3=ceil(n/a3)*s3;
}
if(x1<=x2 && x1<=x3)
{
cout<<x1;
}
else if(x2<=x1 && x2<=x3)
{
cout<<x2;
}
else if(x3<=x1 && x3<=x2)
{
cout<<x3;
}
return 0;
}
```
同时,我也给出我自己的代码(仅供参考):
```cpp
#include <cstdio>
int zs=0,mi=999999999;
int main()
{
scanf("%d",&zs);
for(int i=1;i<=3;i++)
{
int a=0,b=0;
scanf("%d %d",&a,&b);
int l=0,yh=0;
while(l<zs)
{
l+=a;
yh+=b;
}
if(yh<mi)
{
mi=yh;
}
}
printf("%d",mi);
return 0;
}
```
by Drinkkk @ 2017-10-07 20:49:08
emmm...我可是大可爱
```cpp
#include<iostream>
using namespace std;
int n,num,money,minn=1<<30;
int main()
{
cin>>n;
for(int i=1;i<=3;i++)
{
int cost;
cin>>num>>money;
if(n%num==0)
cost=n/num*money;
else
cost=(n/num+1)*money;
minn=min(minn,cost);
}
cout<<minn;
return 0;
}
```
by Chanis @ 2017-10-07 20:53:26
```cpp
#include<iostream>
using namespace std;
int main()
{
int n,i,x,y,ans;
int minx=100000000;
cin >> n;
for(i=1;i<=3;i++)
{
cin >> x >> y;
if(n%x==0) ans=(n/x)*y;
else ans=(n/x+1)*y;
if(ans<minx) minx=ans;
}
cout << minx << endl;
return 0;
}
```
by VenusM1nT @ 2017-10-07 21:15:53
可爱而帅气的我贴上代码
```cpp
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
/*freopen("pencil.in","r",stdin);
freopen("pencil.out","w",stdout);*/
int i,j,k,n,a[4]={0},b[4],jia[4]={0},panduan[4],t,p=1;
int jiage[4];
cin>>n;
for(i=1;i<=3;i++)
cin>>a[i]>>b[i];
for(i=1;i<=3;i++)
{
p=1;
t=p*a[i];
while(t<n)
{
p++;
t=p*a[i];
}
jia[i]=(p)*b[i];
}
for(i=1;i<=2;i++)
for(j=1;j<=3-i;j++)
{
if(jia[j]<=jia[j+1])
{
k=jia[j];
jia[j]=jia[j+1];
jia[j+1]=k;
}
}
cout<<jia[3]<<endl;
return 0;
/*fclose(stdin);
fclose(stdout);*/
}
```
by 跃动の光は @ 2017-10-21 19:58:00
Emmmm...
好像就我的程序最短
```cpp
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
int n,ans=2147483640;
int main()
{
cin>>n;
for (int i=1;i<=3;i++) {
int a,b,k=0;
cin>>a>>b;
if (n%a!=0) k=1;
ans=min(ans,((n/a)+k)*b);
}
cout<<ans;
}
何必要用那么多if!!??
```
by 飞翔的金鱼 @ 2017-10-24 21:34:45
巧了,我用了n个while。。。。。。
```cpp
#include<cstdio>
#include<iostream>
using namespace std;
int n,a,b,c,a1,b1,c1,i=0,x,m1,m2,m3;
int main()
{
cin>>n;
cin>>a>>a1;
cin>>b>>b1;
cin>>c>>c1;
while(x<n){
x+=a;
m1+=a1;
}
x=0;
while(x<n){
x+=b;
m2+=b1;
}
x=0;
while(x<n){
x+=c;
m3+=c1;
}
if(m1<m2&&m1<m3)cout<<m1;
if(m2<m1&&m2<m3)cout<<m2;
if(m3<m2&&m3<m1)cout<<m3;
return 0;
}
```
by wyjzsx1314 @ 2017-10-24 22:05:04
恶膜某民命秒没
傻不愣登的写了个函数玩(并没有卵用)
```cpp
#include <bits/stdc++.h>
using namespace std;
int n;
int ans=2100000000;
int p[5],v[5];
int gogo(int kkk){
if(n%p[kkk]==0){
return v[kkk]*(n/p[kkk]);
}else{
return v[kkk]*(n/p[kkk]+1);
}
}
int main(){
cin>>n;
for(int i=1;i<=3;i++){
cin>>p[i]>>v[i];
}
int n[5];
for(int i=1;i<=3;i++){
n[i]=gogo(i);
ans=min(ans,n[i]);
}
cout<<ans;
return 0;
}
```
by Neo_Kylinson @ 2017-10-26 22:30:59
```cpp
#include<cstdio>
int min(int a,int b) {return a<b?a:b;}
int main()
{
int s1,s2,s3,p1,p2,p3,l1,l2,l3,n;
scanf ("%d%d%d%d%d%d%d",&n,&l1,&p1,&l2,&p2,&l3,&p3);
if (n%l1) s1=(n/l1+1)*p1;
else s1=n/l1*p1;
if (n%l2) s2=(n/l2+1)*p2;
else s2=n/l2*p2;
if (n%l3) s3=(n/l3+1)*p3;
else s3=n/l3*p3;
printf ("%d",min(s1,min(s2,s3)));
}
emmmmmm……
```
by Victory_Defeat @ 2017-12-18 21:19:52
那个说最短的,看看我这个自己都不知道怎么过了的
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, a, b, c, d, e, f;
cin >> n >> a >> b >> c >> d >> e >> f;
int minn;
minn = int(n%a!=0?int(n/a+1):int(n/a))* b;
minn = min(minn, int(n%c!=0?int(n/c+1):int(n/c))*d);
minn = min(minn, int(n%e!=0?int(n/e+1):int(n/e))*f);
cout << minn;
return 0;
}
```
by Lhc_fl @ 2018-07-16 22:57:58
再“精简”一下
```cpp
#include<bits/stdc++.h>
int main(){
int n,a,b,c,d,e,f,minn;
return ((minn=((std::cin>>n>>a>>b>>c>>d>>e>>f),minn=int(n%a!=0?int(n/a+1):int(n/a))*b,minn=std::min(minn,int(n%c!=0?int(n/c+1):int(n/c))*d),std::min(minn,int(n%e!=0?int(n/e+1):int(n/e))*f))),(std::cout<<minn),0);
}
```
by Lhc_fl @ 2018-07-16 23:05:03