Re: [問題] 連續整數相乘,求乘積最大?
看板Prob_Solve (計算數學 Problem Solving)作者netsphere (我需要人陪我)時間17年前 (2008/05/16 15:37)推噓2(2推 0噓 3→)留言5則, 3人參與討論串4/6 (看更多)
科科 給你一個 簡單 又 快 (好像在那裡也講過!?) 的演算法
O(n^2) ( 不知道有沒有可能可以降到O(n) )
#include <stdlib.h>
#include <stdio.h>
int array[]={0,0,1,2,3,-1,3,4,5,-2,1};  //從這裡輸入
int  rx,ry,max=0,pr,nx;
int main()
{
    for (int r = 0; r < (sizeof(array)/4-1)  ; r++ )
    {
        pr=array[r];
        for (int k = r+1 ; k <= (sizeof(array)/4-1) ; k++)
        {
            nx =  pr* array[k];
            pr=nx;
            if (nx > max)
            {
                max=nx;
                rx = r;
                ry = k;
            }
        }
    }
    for (int d = rx;d<ry;d++)
    {
        printf("%4d *",array[d]);
    }
    printf("%4d = %4d\n",array[ry],max);
    system("PAUSE");
    return 0;
}
--
        netsphere:我想到一個字串比對的方法
        眾:.......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.165.195.81
※ 編輯: netsphere       來自: 218.165.195.81       (05/16 15:38)
→
05/16 16:21, , 1F
05/16 16:21, 1F
推
05/16 17:03, , 2F
05/16 17:03, 2F
推
05/16 17:05, , 3F
05/16 17:05, 3F
→
05/16 17:28, , 4F
05/16 17:28, 4F
→
05/16 17:30, , 5F
05/16 17:30, 5F
討論串 (同標題文章)
完整討論串 (本文為第 4 之 6 篇):
                            10
                        
                            16
                        
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章