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

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

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

    qiyadeng

    專注于Java示例及教程
    posts - 84, comments - 152, trackbacks - 0, articles - 34

    表正整數n為連續整數的條件和方法

    Posted on 2009-01-19 16:37 qiyadeng 閱讀(1927) 評論(3)  編輯  收藏

    今天看到關于一個整數表示為n個連續整數和的問題。搜索了下找到如下文章:

    表為連續正整數
    View SlideShare document or Upload your own.

    還搜索到程序的實現:http://blog.csdn.net/Solstice/archive/2006/09/13/1217700.aspx

    http://squall.cs.ntou.edu.tw/cprog/Assignments/99Fall/FindGivenSum.html

    http://blog.chinaunix.net/u2/76292/showart_1359876.html(這個是不正確的)

     

    我也簡單的實現了下:(g++編譯,主要思路是利用等差數列求和公式n=(a+a+k)*(k+2)/2列舉k,找到合適的a)

    #include <iostream>
    #include <math.h>
    using namespace std;
    
    int main(){
    
        int n;
        cout<<"input n:"<<endl;
        cin>>n;
    
        int maxk=(int)sqrt((double)n*2);
    
        int flag = 0;
    
        //cout<<"maxk="<<maxk<<endl;
    
        //for(int i=1;i<maxk+1;i++){
        for(int i=maxk+1;i>0;i--){
             double a = n/(double)(i+1)-i/(double)2;
            //cout<<"a="<<a<<endl;
        
            if(a>0&&a-(int)a==0){
                //cout<<i<<endl;
                for(int j=0;j<i+1;j++){
                    cout<<a+j<<" ";
                }
                cout<<endl;
                flag=1;
            }
    
        }
        if(flag==0){
            cout<<"NONE"<<endl;
        }
        return 0;
    
    }
    
    

    Feedback

    # re: 表正整數n為連續整數的條件和方法  回復  更多評論   

    2009-01-19 23:51 by 墻頭草
    不錯哦~~~~~




    =================================================================
    Struts2的零配置
    Struts2利用stream直接輸出Excel
    Struts2結合dhtmlx tree
    Struts2中ZeroConfig和CodeBehind下的Stream類型返回
    struts中html:select標簽和html:options 的使用

    更多Struts

    # re: 表正整數n為連續整數的條件和方法  回復  更多評論   

    2009-01-22 10:45 by appu
    good.
    實現倒是不難, 關鍵是怎么樣讓它執行次數最少,至少是比較少。

    # re: 表正整數n為連續整數的條件和方法  回復  更多評論   

    2010-08-11 10:59 by glq2000
    網上講連續整數和問題的博文很多,但博主這篇最講的最明白,贊一個~~~

    我按照樓主論文提供的方法寫了一個,代碼如下,其循環次數為O(n/4),相比之下還是樓主的方法更快些,循環次數為O(sqrt(2n)),
    void ContinueInt(int n)
    {
    int i, k, m, num=0;
    for(i=3; i<n/2+1; i +=2) //以步長為2從3開始到n/2為止,求n的所有奇數因子
    {
    if(n%i == 0)
    {
    ++num;
    m = n/i;
    k = (i-1)/2;
    for(int j=(m-k>0)?(m-k):(k-m+1); j<=m+k; ++j) //利用論文中的結論
    cout<<j<<" "; //即n=(2k+1)*m=(2k+1)*2m/2=(2k+1)(m-k+m+k)/2
    cout<<endl;
    }
    }
    if(n%2)//n本身是奇數
    {
    ++num;
    cout<<(n-1)/2<<" "<<(n-1)/2+1<<endl;
    }
    cout<<"in all, num="<<num<<endl;
    }

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 精品久久久久久无码免费| 亚洲精品中文字幕麻豆| 国产精品手机在线亚洲| 性一交一乱一视频免费看| 亚洲精品影院久久久久久| 色欲色香天天天综合网站免费| 亚洲精品乱码久久久久久| 人人玩人人添人人澡免费| 亚洲第一视频网站| 亚洲电影在线免费观看| 亚洲国产精品张柏芝在线观看| 最好看的中文字幕2019免费| 亚洲精品资源在线| 毛片a级毛片免费观看品善网| 麻豆国产人免费人成免费视频| 亚洲国产欧美国产综合一区| 又粗又大又猛又爽免费视频| 九九综合VA免费看| 亚洲av无码不卡一区二区三区| 99re免费在线视频| 亚洲日本va一区二区三区 | 一级毛片无遮挡免费全部| 激情综合色五月丁香六月亚洲| 久久aa毛片免费播放嗯啊| 亚洲伊人久久大香线焦| 日韩中文无码有码免费视频 | 永久免费不卡在线观看黄网站| 亚洲av激情无码专区在线播放| 国产精品色拉拉免费看| 亚洲avav天堂av在线网毛片| 久久亚洲国产成人影院网站| 鲁大师在线影院免费观看| 亚洲精品无码国产片| 亚洲国产精品丝袜在线观看| 日木av无码专区亚洲av毛片| 一二三四免费观看在线视频中文版 | 亚洲国产精品成人精品小说| 国产大片51精品免费观看| 中文字幕日本人妻久久久免费| 亚洲大香伊人蕉在人依线| 亚洲一区二区三区免费|