[暴力計算]连续整数之和为1000的共有几组(微软面试微软招聘)

[暴力計算]连续整数之和为1000的共有几组(微软面试微软招聘)


import  java.util.ArrayList;
import  java.util.List;

public   class  Sum {
    
public   static   void  main(String[] args) {

        
int [] temp  =   new   int [ 1000 ];
        
for  ( int  i  =   1 ; i  <   1001 ; i ++ ) {
            temp[i 
-   1 =  i;
        }

        
int  total  =   0 ; //  存储总数
         int  sum  =   0 //  和
         int  k  =   0 ;
        List list 
=   null //  存储每次新循环时的数据
         int  size  =   0 ;
        
int  num  =   0 ;
        
for  ( int  j  =   0 ; j  <   1000 ; j ++ ) {
            k 
=  j;
            sum 
=   0 //  sum 每次循环都要重置
            list  =   new  ArrayList();  //  list 每次循环都要清空
             do  {
                sum 
+=  temp[k];

                list.add(temp[k]);
                
if  (sum  ==   1000 ) { //  洽好等于1000就打印
                    total ++ ;
                    System.out.println(
" Group "   +  total  +   " :   " );
                    
if  (list  !=   null   &&  list.size()  >   0 ) {
                        size 
=  list.size();
                    }
                    
for  ( int  x  =   0 ; x  <  size; x ++ ) {
                        num 
=  x  +   1 ;
                        System.out.println(
"      "   +  num  +   "  :  "   +  list.get(x));
                    }
                }

                
if  (k  <   999 ) {
                    k
++ ;
                }
            } 
while  (sum  <   1001 ); //  超过1000就退出
        }

        System.out.println(
"   total :   "   +  total);
    }
}


输出结果:

Group1:  
    
1  :  28
    
2  :  29
    
3  :  30
    
4  :  31
    
5  :  32
    
6  :  33
    
7  :  34
    
8  :  35
    
9  :  36
    
10  :  37
    
11  :  38
    
12  :  39
    
13  :  40
    
14  :  41
    
15  :  42
    
16  :  43
    
17  :  44
    
18  :  45
    
19  :  46
    
20  :  47
    
21  :  48
    
22  :  49
    
23  :  50
    
24  :  51
    
25  :  52
Group2:  
    
1  :  55
    
2  :  56
    
3  :  57
    
4  :  58
    
5  :  59
    
6  :  60
    
7  :  61
    
8  :  62
    
9  :  63
    
10  :  64
    
11  :  65
    
12  :  66
    
13  :  67
    
14  :  68
    
15  :  69
    
16  :  70
Group3:  
    
1  :  198
    
2  :  199
    
3  :  200
    
4  :  201
    
5  :  202
Group4:  
    
1  :  1000
  total :  
4

你可能感兴趣的:([暴力計算]连续整数之和为1000的共有几组(微软面试微软招聘))