華為oj初級 尋找等差數列

2021-07-28 10:09:13 字數 958 閱讀 3513

詳細描述:

介面說明

原型:

public static int getmaxarray( int m, int n)

輸入引數:

int m 給定的區間下限

int n 給定的區間上限

返回值:

等差數列

限制:

0 <= m<= n

舉例:

在區間[0, 10]中,素數構成的最大等差數列為3,5,7

知識點 陣列

執行時間限制 10m

記憶體限制 128

輸入 先後輸入兩個int數,表示下限和上限

輸出 在給定的區間範圍內找出所有素數能構成的最大的等差數列

樣例輸入 0 30

樣例輸出 5 11 17 23 29

#include 

#include

#include

#include

using

namespace

std;

bool isprime(int n)

if (flag)

return

true;

else

return

false;

}bool find(int m, int a, int n)

int main()

if (count>len || (count == len &&d[j]>dk))

count = 1;

}for (int i = 0; icout

<< end;

//if(i==len-1)

cout

<< endl;

//else

//cout<<" ";

end += dk;

}return

0;}

華為oj 尋找等差數列

本題提供兩種解法 1.找到首尾之間的所有的素數形成乙個陣列prime,那麼這個陣列形成的等差數列中,公差最大的的就是這個數列首尾數字的差值,對公差從1到最大值進行迴圈,找到數列中公差等於上述範圍的所有數列,找到數列包含數字最多的就可以了,時間複雜度o kn 2 includeusing namesp...

華為oj 等差數列

問題描述 功能 等差數列 2,5,8,11,14。輸入 正整數n 0 輸出 求等差數列前n項和 返回 轉換成功返回 0 非法輸入與異常返回 1 知識點 函式 練習階段 初級 執行時間限制 10sec 記憶體限制 128mbyte 輸入 輸入乙個正整數。輸出 輸出乙個相加後的整數。樣例輸入 2 樣例輸...

尋找最長的等差數列

問題描述 給定乙個大小為n的陣列,要求寫出乙個演算法,求出其最長的等差數列的子串行。首先問題並沒有要求要按照原來陣列的順序,所以可以先對該陣列排序。如果不要求該最長子序列中的元素是相鄰的話,可以用乙個簡單的dp來完成。令 f i j 表示以 i 為結尾的某子串行 該子串行的等差為 j 的最大長度 那...