1 条题解

  • 0
    @ 2023-2-11 9:26:33

    直接做法

    #include<bits/stdc++.h>
    using namespace std;
    int n;//一共要买n支铅笔
    int num1,price1;//有多少支铅笔,要花多少钱 
    int num2,price2;//有多少支铅笔,要花多少钱 
    int num3,price3;//有多少支铅笔,要花多少钱 
    int ans1,ans2,ans3;
    int main()
    {
    	cin>>n;
    	cin>>num1>>price1;
    	cin>>num2>>price2;
    	cin>>num3>>price3; 
    	if(n%num1==0)
    		ans1 = n/num1*price1;
    	else
    		ans1 = (n/num1+1)*price1;
    	if(n%num2==0)
    		ans2 = n/num2*price2;
    	else
    		ans2 = (n/num2+1)*price2;
    	if(n%num3==0)
    		ans3 = n/num3*price3;
    	else
    		ans3 = (n/num3+1)*price3;
    	cout<<min(min(ans1,ans2),ans3)<<"\n";
    	return 0;
    }
    
    

    循环+数组做法

    #include<bits/stdc++.h>
    using namespace std;
    int n;//一共要买n支铅笔
    //num[0]~num[4],price[0]~price[4]
    int num[5],price[5],ans[5];
    int main()
    {
    	cin>>n;
    	for(int i=1;i<=3;i++)
    		cin>>num[i]>>price[i];
    	for(int i=1;i<=3;i++)
    	{
    		if(n%num[i]==0)
    			ans[i] = n/num[i]*price[i];
    		else
    			ans[i] = (n/num[i]+1)*price[i];
    	}
    	int finalAns=100000000;
    	for(int i=1;i<=3;i++)
    		finalAns=min(finalAns,ans[i]);
    	cout<<finalAns<<"\n";
    	return 0;
    }
    
    • 1

    信息

    ID
    100
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    56
    已通过
    29
    上传者