日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

信息学奥赛一本通(2059:【例3.11】买笔)

發布時間:2025/3/17 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 信息学奥赛一本通(2059:【例3.11】买笔) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2059:【例3.11】買筆


時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 987 ??? 通過數: 458

【題目描述】

期末來臨了,班長小Q決定將剩余班費xx元錢,用于購買若干支鋼筆獎勵給一些學習好、表現好的同學。已知商店里有三種鋼筆,它們的單價為66元、55元和44元。小Q想買盡量多的筆(鼓勵盡量多的同學),同時他又不想有剩余錢。請您編一程序,幫小Q制訂出一種買筆的方案。

【輸入】

一個正整數xx(剩余班費)。

【輸出】

一行,依次為6元、5元和4元錢筆的數目,用一個空格隔開。

【輸入樣例】

10

【輸出樣例】

1 0 1

【分析】

? ? ? ? 對于以上的實際問題,要買盡量多的筆,易知都買4元的筆肯定可以買最多支筆。因此,最多可買的筆為x/4支。由于小Q要把錢用完,故我們可以按以下方法將錢用完:

? ? ? ? 若買完x/4支4元筆,還剩1元,則4元錢的筆少買1支,換成一支5元筆即可;若買完x/4元4元的筆,還剩2元,則4元的筆少買1支,換成一支6元筆即可;若買完x/4支4元錢的筆,還剩3元,則4元錢的筆少買2支,換成一支5元筆和一支6元筆即可。從以上對買筆方案的調整,可以看出筆的數目都是x/4,因此該方案的確為最優方案。

【參考代碼】

#include <stdio.h>
int main()
{
? ? int a,b,c;//abc分別代表6元,5元,4元的數目?
? ? int x,y; ?//x,y分別表示剩余班費和買完最多的4元筆后剩的錢
?? ??
? ? scanf("%d",&x);
? ? c=x/4;
? ? y=x%4;
? ? switch(y)
? ? {
? ? ?? ?case 0:
? ? ?? ??? ?a=0;
? ? ?? ??? ?b=0;
? ? ?? ??? ?break;
? ? ?? ?case 1:
? ? ?? ??? ?a=0;
? ? ?? ??? ?b=1;
? ? ?? ??? ?c--;
? ? ?? ??? ?break;
? ? ?? ?case 2:
? ? ?? ??? ?a=1;
? ? ?? ??? ?b=0;
? ? ?? ??? ?c--;
? ? ?? ??? ?break;
? ? ?? ?case 3:
? ? ?? ??? ?a=1;
? ? ?? ??? ?b=1;
? ? ?? ??? ?c-=2;
?? ?}
?? ?printf("%d %d %d\n",a,b,c);
? ??
? ? return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=2059

?

總結

以上是生活随笔為你收集整理的信息学奥赛一本通(2059:【例3.11】买笔)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。