【問題描述】
匪警請撥
110,
即使手機欠費也可撥通!
為了保障社會秩序,保護人民群眾生命財產安全,警察叔叔需要與罪犯鬥智鬥勇,因而需要經常性地進行體力訓練和智力訓練!
某批警察叔叔正在進行智力訓練:
1 2 3 4 5 6 7 8 9 = 110
請看上邊的算式,為了使等式成立,需要在數字間填入加號或者減號(可以不填,但不能填入其它符號)。之間沒有填入符號的數字組合成乙個數,例如:
12+34+56+7-8+9
就是一種合格的填法;
123+4+5+67-89
是另乙個可能的答案。
請你利用計算機的優勢,幫助警察叔叔快速找到所有答案。
每個答案佔一行。形如:
12+34+56+7-8+9
123+4+5+67-89
public class main
// 0 1 遞迴問題。設計遞迴考慮測試方案。每兩個數的中間可以加 - 號 可以 + 號 可以 啥都沒有(連線)
public static void all(string nums,int index);
return;
}//將1替換成1+
all(nums.replace(index+"",index+"+"),index+1);
all(nums.replace(index+"",index+"-"),index+1);
all(nums,index+1);
}public static boolean calc(string nums);
f(nums,8,"",0);
}public static void f(int nums,int index,string rex,int count)
return;
}f(nums,index-1,"+"+nums[index]+rex,count+nums[index]);
f(nums,index-1,"-"+nums[index]+rex,count-nums[index]);
int sign = nums[index-1];
nums[index-1] = integer.parseint(sign+""+nums[index]);
f(nums,index-1,rex,count);
//回溯
nums[index-1] = sign;
}}
C 算式填符號
題目描述 匪警請撥110,即使手機欠費也可撥通!為了保障社會秩序,保護人民群眾生命財產安全,警察叔叔需要與罪犯鬥智鬥勇,因而需要經常性地進行體力訓練和智力訓練!某批警察叔叔正在進行智力訓練 1 2 0 3 請看上邊的算式,為了使等式成立,需要在數字間填入加號或者減號 上述可能的方案為 1 2 0 3...
藍橋杯 算式填符號
匪警請撥110,即使手機欠費也可撥通!為了保障社會秩序,保護人民群眾生命財產安全,警察叔叔需要與罪犯鬥智鬥勇,因而需要經常性地進行體力訓練和智力訓練!某批警察叔叔正在進行智力訓練 1 2 3 4 5 6 7 8 9 110 請看上邊的算式,為了使等式成立,需要在數字間填入加號或者減號 可以不填,但不...
藍橋杯 算式填符號
匪警請撥110,即使手機欠費也可撥通!為了保障社會秩序,保護人民群眾生命財產安全,警察叔叔需要與罪犯鬥智鬥勇,因而需要經常性地進行體力訓練和智力訓練!某批警察叔叔正在進行智力訓練 1 2 3 4 5 6 7 8 9 110 請看上邊的算式,為了使等式成立,需要在數字間填入加號或者減號 可以不填,但不...