class Solution {
public:/**
* 正数数组中的最小不可组成和
* 输入:正数数组arr
* 返回:正数数组中的最小不可组成和
*/intgetFirstUnFormedNum(vector<int> arr,int len){int min = arr[0];int max = arr[0];for(int i =1; i < len; i++){
max += arr[i];if(min > arr[i])
min = arr[i];}
vector<int>ret(max+1,0);for(int i =0; i < len; i++){for(int j = max; j >= arr[i]; j--){if(ret[j - arr[i]]+ arr[i]> ret[j])
ret[j]= ret[j - arr[i]]+ arr[i];else
ret[j]= ret[j];}}for(int i = min; i <= max; i++){if(ret[i]!= i)return i;}return max+1;}};
// write your code here cpp#include<iostream>
using namespace std;intmain(){int num;while(cin >> num){if(num ==0)break;int count =0;while(num >1){if(num %3==0)
num = num /3;else
num = num /3+1;
count++;}
cout << count << endl;}return0;}
class Solution {public: /** * 正数数组中的最小不可组成和 * 输入:正数数组arr * 返回:正数数组中的最小不可组成和 */ int getFirstUnFormedNum(vector<int> arr, int len) { int min = arr[0]; int max = arr[0];...