题目描述:
小明认为某些数字不吉利,付账时会尽可能少的多付一些钱,使得价格中不包含这些不吉利数字,并且不出现0,例如,不吉利数字为1,4,7,8,商品价格为1000,小明实际支付2222,实现程序,输入商品原来的价格price,不吉利数字集合unlucy_price,求小明付账时候的价格lucky_price。
import java.util.ArrayList;
import java.util.List;
public class Test {
public static int get_luckey_price(int price,List<Integer> unlucy_numbers){
int flag=price%10;
int result=0;
int j=0;
while (price>0) {
for (int i = 1; i <=9; i++) {
if (i>=flag&&!unlucy_numbers.contains(i)) {
result+=i*Math.pow(10, j);
break;
}
}
j++;
price=price/10;
flag=price%10;
}
return result;
}
public static void main(String[] args) {
List<Integer> unlucy_numbers=new ArrayList<Integer>();
unlucy_numbers.add(1);
unlucy_numbers.add(4);
unlucy_numbers.add(7);
unlucy_numbers.add(8);
System.out.println(Test.get_luckey_price(1000, unlucy_numbers));
}
}