class countZero{

//声明一个凑集

private List<Integer>list = null;

奥数问答php源码用小法式解奥数里轮回相干的题超快 NoSQL

//天生要进行打算的数,把这些按顺序数加入到List凑集

public void getList(int stopI) {

int stop = stopI + 1;

List<Integer>mylist = new ArrayList<Integer>();

for(int i=1; i<stop; i++)

mylist.add(i);

list = mylist;

}

//打算一个整数里有几个0

private int zeroCount(String Str, char c) {

//再把字符串拆分成数组

char[] cr = Str.toCharArray();

//末了打算系统的字符

int n = 0;

for(char C : cr) {

if(C == c)

n++;

}

return n;

}

//进行打算

public int countResult() {

int sum = 0;

int one = 0;

int two = 0;

int len = list.size();

int L = len % 2 == 0 ? len / 2 : (len + 1) / 2;

String sss = "";

for(int i=0; i<L; i++) {

//不管循环到第几次,前一个都有值

one = list.get(0);

//如果是末了一次循环

if(i==L-1)

/

如果只有一个元素,第二个元素就没有了,我们给指定为1,

如果有两个元素,必须有第二个了,当然直接赋值

/

two = len == 1 ? 1 : list.get(1);

//如果不是末了一次循环

else{

//后一个也肯定有值,以是直接赋

two = list.get(1);

//赋完值后都要进行删除

list.remove(1);

list.remove(0);

}

//重新打算list凑集的长度

len = list.size();

//打算前两个元素的积,并把积转成字符串类型

String product = one two +"";

//获取字符串里第一个0的位置

int index = product.indexOf("0");

//判断字符串里是不是有0,有0再进行打算

if(index != -1)

//打算有几个0,然后进行累加

sum += zeroCount(product, '0');

}

//返回出末了的打算结果

return sum;

}

}

countZero cz = new countZero();

//参数是要从1到什么数,比如以下的是从1到3000

cz.getList(3000);

out.print(cz.countResult());

用以上的代码便是根据题目的意思进行打算(我只是说可以打算,但是不是可以优化没去剖析)。