codevs 2865 天平系统1
生活随笔
收集整理的這篇文章主要介紹了
codevs 2865 天平系统1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述?Description
一個天平,砝碼分別為1g、2g、4g、8g、16g、32g、...、8192g,每個砝碼只有一個,要稱重的物品放在天平的左側,而砝碼只允許放在天平的右側。已知一個物品的重量,問如何稱重?試編程解決。
輸入描述?Input Description
一個重量N
輸出描述?Output Description
所使用的砝碼重量,按從大到小的順序輸出。
樣例輸入?Sample Input
33
樣例輸出?Sample Output
32 1
數據范圍及提示?Data Size & Hint
(1≤N≤16000)
思路:
貪心,從大到小枚舉如果小于n就輸出,同時n-a[i],直到n為0為止。
代碼:
#include<cstdio> using namespace std; int a[14],n; int main() {int i,j;a[1]=1;for(i=2;i<=14;i++)a[i]=a[i-1]*2;scanf("%d",&n);for(i=13;i>=1;i--){if(n<a[i])continue;else{n-=a[i];printf("%d ",a[i]);}}return 0; }?
轉載于:https://www.cnblogs.com/jyhywh/p/6044551.html
總結
以上是生活随笔為你收集整理的codevs 2865 天平系统1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用canvas实现数据可视化
- 下一篇: C#遍历指定文件夹中的所有文件和子文件夹