043求等差數列

2021-10-08 12:01:15 字數 609 閱讀 4583

例:幼兒園老師給學生由前向後發糖果,每個學生得到的糖果數目成等差數列,前4個學生得到的糖果數目之和是26,積是880。程式設計求前20名學生每人得到的糖果數目。

分析:

由前向後得到的糖果數目成遞增數列還是遞減數列?

前四個學生得到的糖果數目之和是26,平均每個人6個,即前四項最小者不超過6;如果是遞減數列,a4=6,後面還有16名學生要分糖,則後面還有很多人沒分到,不符合情境

核心演算法:

解題的關鍵是要知道等差數列的首項和公差。可以使用for語句進行窮舉,用if條件語句判斷。

確定窮舉範圍

設該等差數列的首項為number,公差為n,number和n都是至少為1的正整數。當number=1時,由number+(number+n)+(number+2n)+(number+3n)=26得n=3.6,可知n的取值範圍為1≤n≤3。當n=1時,由4number+6n=26得number=5,可知number得取值範圍是1≤number≤5

#include

intmain()

}return0;

}

求最長等差數列

給定未排序的陣列,請給出方法找到最長的等差數列。分析題目描述比較簡單,但是有乙個問題我們需要首先搞清楚 等差數列中的數字,是否要和原始陣列中的順序一致。題目中,並沒有說明,這個就需要大家在面試的過程中和面試官進行交流。我們在這裡對兩種情況都進行討論 保證數字的順序 等差數列是要求相鄰兩個元素之間的差...

codevs等差數列

題目描述 description 給定n 1 n 100 個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.輸入描述 input description 第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值不超過10000000.輸出描述 output descr...

網易等差數列

如果乙個數列s滿足對於所有的合法的i,都有s i 1 s i d,這裡的d也可以是負數和零,我們就稱數列s為等差數列。小易現在有乙個長度為n的數列x,小易想把x變為乙個等差數列。小易允許在數列上做交換任意兩個位置的數值的操作,並且交換操作允許交換多次。但是有些數列通過交換還是不能變成等差數列,小易需...