<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    E81086713E446D36F62B2AA2A3502B5EB155

    Java雜家

    雜七雜八。。。一家之言

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      40 Posts :: 1 Stories :: 174 Comments :: 0 Trackbacks

    2011年12月1日 #

    如題:求連續正整數使得其和為給定的一個正整數
    下面給出我的解法,幾乎可以一步到位求出來
    實現代碼如下:
    /**
    *Author: Koth (
    http://weibo.com/yovn)
    *Date:  2011-12-01
    */
    #include 
    <stdlib.h>
    #include 
    <stdio.h>
    #include 
    <stdint.h>

    int solve(int Y,int& X){
        
    int m=0;
        
    int t=Y;
        
    if(Y<=0){
            X
    =Y;
            
    return 1;
        }
        
    while((t&1)==0){
            m
    +=1;
            t
    =t>>1;
        }
        
    if(m==32){
            X
    =Y;
            
    return 1;
        }
        
    int lastK=32;
        
    for(;lastK>m+1;lastK--){
            
    if(Y &(1<<(lastK-1))){
                
                
    break;
            }
                
        }

        
    //its a number st. exp(2,K)
        if(lastK==(m+1)){
            X
    =Y;
            
    return 1;
        }
        
    int k=1<<(m+1);
        
    int b=(Y>>m)-(1<<(lastK-m-1));

        X
    =(1<<(lastK-m-2))+(b+1-k)/2;

        
    if(X<=0){
            k
    =k-1-((0-X)<<1);
            X
    =0-X+1;
        }
        
        
    return k;

    }

    int main(int argc,char* argv[]){
        
    if(argc<=1){
            fprintf(stdout,
    "Usage:%s number\n",argv[0]);
            
    return 0;
        }
        
    int Y=atoi(argv[1]);
        
    int X=0;
        
    int k=solve(Y,X);
        fprintf(stdout,
    "%d=",Y);
        
    for(int i=0;i<k;i++){
            fprintf(stdout,
    "%d",X+i);
            
    if(i<(k-1)){
                fprintf(stdout,
    "+");
            }
        }
        fprintf(stdout,
    "\n");
        
    return 0;
    }
    posted @ 2011-12-01 22:09 DoubleH 閱讀(1777) | 評論 (2)編輯 收藏

    主站蜘蛛池模板: 男男黄GAY片免费网站WWW| 亚洲无吗在线视频| 成人片黄网站色大片免费观看cn| 永久黄网站色视频免费| 亚洲AV第一成肉网| 国产精品冒白浆免费视频| 亚洲gay片在线gv网站| 国产片免费在线观看| 日韩精品亚洲专区在线影视| 午夜视频免费成人| 亚洲Av无码国产一区二区| 免费一级毛片不卡在线播放| 四虎影视永久在线精品免费| 亚洲一区二区三区影院| 免费人成毛片动漫在线播放| 1区1区3区4区产品亚洲| 国产卡二卡三卡四卡免费网址| 亚洲自偷自偷在线成人网站传媒| 国产免费观看a大片的网站| 一级毛片人与动免费观看| 国产亚洲人成网站在线观看不卡| 久久99精品视免费看| 亚洲免费福利视频| 免费很黄很色裸乳在线观看| 久久久久久久久久免免费精品| 精品国产亚洲一区二区三区| 蜜臀AV免费一区二区三区| 亚洲JIZZJIZZ妇女| 亚洲色精品aⅴ一区区三区| 久久w5ww成w人免费| 久久精品国产亚洲AV电影网| 亚洲午夜国产精品无码老牛影视| 无码A级毛片免费视频内谢| 久久精品国产亚洲AV久| 亚洲国产精品13p| 亚洲高清视频免费| 免费无码国产V片在线观看| 久久久久亚洲AV无码麻豆| 国产免费av片在线无码免费看| 免费在线中文日本| 色婷婷亚洲一区二区三区|