写一个方法,入力是数字n,要求不使用中间变量和循环,顺次打印出n,n*2,n*4,n*8…….,直到大于5000
如输入的是 N=1001 
打印效果为
1001
2001
3003
4004用循环的话很好解决。不用循环一点思路都没有。是不是有什么API可以解决?
求达人来解决。

解决方案 »

  1.   

    好象这个问题出现过的吧
    不用中间变量可以,但是不用循环??
    难道直接写死?
    1001<0
    1001<1
    1001<2
    1001<3
      

  2.   

    更正
       <<
      

  3.   


    public static void main(String[] args) {
          int count = 5000/1001;
          new Summary().print(count, 1001);
        }    private void print(int n, int base) {
            if (n ==0 || 5000/n < base) {
                return;
            } else {
                print(n-1, base);
            }
            System.out.println(base*n);
        }=====================
    1001
    2002
    3003
    4004
      

  4.   

    5000/n < base 删掉,没什么用
      

  5.   

    Lz的问题不对吧
    既然是n,n*2,n*4,n*8
    1001怎么又会算出2001,3003呢