1. 程式人生 > >【數學】天平稱重

【數學】天平稱重

用天平稱重時,我們希望用盡可能少的砝碼組合稱出儘可能多的重量。
如果只有5個砝碼,重量分別是1,3,9,27,81
則它們可以組合稱出1到121之間任意整數重量(砝碼允許放在左右兩個盤中)。


本題目要求程式設計實現:對使用者給定的重量,給出砝碼組合方案。
例如:
使用者輸入:
5
程式輸出:
9-3-1
使用者輸入:
19
程式輸出:
27-9+1


要求程式輸出的組合總是大數在前小數在後。

可以假設使用者的輸入的數字符合範圍1~121。

解法:進位制轉換

原始碼:

#include<iostream>
#include<string>
#include<sstream>
using namespace std;

string get_str(int num){
    string s="";
    int weight=1;
    while(num>0){
        int k=num/3;
        int l=num%3;
        if(l==1) s="+"+to_string(weight)+s;
        else if(l==2) {k++;s="-"+to_string(weight)+s;}
        num=k;
        weight*=3;
    }
    return s.substr(1);
}
int main(){
    for(int i=1;i<121;i++){
        cout<<get_str(i)<<endl;
    }
}

相關推薦

數學天平

用天平稱重時,我們希望用盡可能少的砝碼組合稱出儘可能多的重量。如果只有5個砝碼,重量分別是1,3,9,27,81則它們可以組合稱出1到121之間任意整數重量(砝碼允許放在左右兩個盤中)。本題目要求程式設計實現:對使用者給定的重量,給出砝碼組合方案。例如:使用者輸入:5程式輸出

進位制轉換天平

用天平稱重時,我們希望用盡可能少的砝碼組合稱出儘可能多的重量。如果只有5個砝碼,重量分別是1,3,9,27,81則它們可以組合稱出1到121之間任意整數重量(砝碼允許放在左右兩個盤中)。本題目要求程式設計實現:對使用者給定的重量,給出砝碼組合方案。例如:使用者輸入:5程式輸出

練習砝碼

 P1441 砝碼稱重 思路:dfs列舉去掉哪些砝碼, 01揹包求方案數, 各種情況取max記為ans輸出√ 邊界情況處理不好交了三遍QAQ dp[j] = dp[j] + dp[j - a[i]] 選上這個砝碼的情況+ 不選的情況 1 #include<cstdio>

「NOIP模擬」搶座位數學set判

官方題解: 因為選出的一段是一個等比序列的子序列,我們分為兩種情況: 當 q=1q=1q=1,相當於找一個最長每個數都相等的子串,這個掃一遍就行了。 當 q!=1q!=1q!=1,那麼這個序列最長只有 lg⁡n\lg nlgn,那麼我們可以列舉開頭,不妨設開始的

Servlet深入淺出Java定向和請求轉發

列表 url地址 ssi 什麽 stack led 要去 處理 代碼 import java.text.*; import java.util.*; import java.io.*; import javax.servlet.http.*; i

原創TCP超時傳機制探索

sender mic borde 做了 5.5 多次 字節 應用程序 實現 TCP超時重傳機制探索作者:tll (360電商技術)1)通信模型TCP(Transmission Control Protocol)是一種可靠傳輸協議。在傳輸過程中當發送方(sender)向接

hdu 6216 A Cubic number and A Cubic Number數學

eve event aps pro pan logs strong 是否 isp hdu 6216 A Cubic number and A Cubic Number 題意:判斷一個素數是否是兩個立方數之差,就是驗差分。 題解:只有相鄰兩立方數之差才可能,,因為x^3-

數學pivoting求矩陣逆

blog 數學 原創 http pivot 方法 現在 -1 image (原創文章,謝絕轉載~) pivoting求矩陣逆: 例: 現在我們用pivoting方法: aik‘=1/aik , auk‘=auk/aik , aiv‘=-aiv/aik , auv‘

枚舉 天平

font strong 所有 rst 輸出 color iostream algorithm pan 天平稱重 【問題描述】 用天平稱重時,我們希望用盡可能少的砝碼組合稱出盡可能多的重量。 如果只有5個砝碼,重量分別是1,3,9,27,81 則它們可以組合稱出1

C#list 去

student AR 復制 泛型 沒有 obb 去重 archive func 原文:【C#】list 去重 Enumerable.Distinct 方法 是常用的LINQ擴展方法,屬於System.Linq的Enumerable方法,可用於去除數組、集合中的重復

求階乘後綴0個數二分+數學

solution return == 根據 scan 容易 只需要 內存 會有 題目鏈接:http://www.bjfuacm.com/problem/374/ 星球引力

c++c++中載輸出操作符,為什麽要返回引用

不返回 定義 類型 AS 標準 操作符 連續 新的 輸出 針對:ostream & operator <<(ostream & os, const ClassType &object) 說明幾點: 1.第一個形參為對ostream對象的引

筆記跨域定向中使用Ajax(XHR請求)導致跨域失敗

兩個 led stat -h java cut 報錯 blank direct 背景: 1、前端Web中有兩個域名,a.com和b.com,其中a.com是訪問主站(頁面),b.com是數據提交接口的服務器(XHR請求) 2、a.com中用XHR調用b.com/cerate

UOJ273 [清華集訓2016] 你的生命已如風中殘燭 數學

數學 class mes ons 這樣的 生命 大於等於 bit return 題目分析: 把$0$卡牌看成$-1$。題目要求前綴和始終大於等於$1$。 最後添加一個$-1$,這樣除了最後一位之外大於等於1,最後一位等於0。 構造圓排列。這樣的話一個圓排列只有一個滿足的情況

A. Little C Loves 3 I Codeforces Round #511 (Div. 2) 數學

pos == force line for 最大 header 應該 XML 題目: Little C loves number ?3? very much. He loves all things about it. Now he has a positive

C. Enlarge GCD Codeforces Round #511 (Div. 2)數學

ios ssis 進行 原理 als namespace 最大 cor http 題目: Mr. F has nn positive integers, a1,a2,…,an. He thinks the greatest common divisor of these

數論分塊 數學

端點 span 一起 str bzoj tro mil strong 數列 數論分塊 數論分塊也是很重要哦(dalao說以後莫比烏斯反演要用到) 經典栗子: for i=1~n 求 ∑x=(n/i) (註:這裏()表示為下取整) 普通人一般暴力,復雜度 O(n) 這

數學kd 樹演算法之思路篇(憂傷的小兔子)

導語:kd 樹是一種二叉樹資料結構,可以用來進行高效的 kNN 計算。kd 樹演算法偏於複雜,本篇將先介紹以二叉樹的形式來記錄和索引空間的思路,以便讀者更輕鬆地理解 kd 樹。 圖較多,小心流量  作者:肖睿編輯:巨集觀經濟算命師本文由JoinQuant量化課堂推出,本文的難度屬於

數學CF27E Number With The Given Amount Of Divisors

output math tput all div 傳送門 大於 void bool 傳送門 Description 給定一個正整數\(n\),輸出最小的整數,滿足這個整數有n個因子 Input 一行一個整數\(n\) Output 一行一個整數,代表答案。 Hint \(1

數學 乘法逆元

1. 剩餘系 指模正整數n的餘數所組成的集合。 若一個剩餘系中包含了這個正整數n所有可能的餘數,則稱為完全剩餘系,記為Zn。(一般地,對於任意正整數n,有n個餘數:0,1,2,…,n-1) 簡化剩餘系:簡化剩餘系也稱既約剩餘系或縮系,是m的完全剩餘系中與m互素的數構成的子集。 2.