有5个砝码,1,3,9,27,81;表示1-121终点数字

//只有5个砝码,1,3,9,27,81;表示1-121终点数字 //例:19=27-9+1 //因为为3的倍数,可以像上一题一样,转为3进制写这道题, //余数有0,1,2,没有重为2的砝码,2=3-1; //不要想多凡是余数为 2 被除数就加 3,也就是商+1,余数为-1; #include using namespace std; void decToR(int n,int r); int a[10000]; int cnt=0; int main(){ int n; cin>>n; decToR(n,3); //转三进制 //检测是否转正确 for(int i = cnt-1; i>=0; i--) cout<=0; i--){ if(flg){ flg = false; if(a[i]==1) cout<

不是很正确的dfs写法
#include #include using namespace std; int a[5]={1,3,9,27,81}; int n; vectorv; bool flg=true; void dfs(int idx,int sum){ if(sum == n && flg==true){ flg==false; int len = v.size(); cout<0) cout<<"+"<>n; dfs(4,0); return 0; }


【有5个砝码,1,3,9,27,81;表示1-121终点数字】

    推荐阅读