1+3+5+...+(2n-1) = n(1+2n-1)/2 = n^2
十年的南澳網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整南澳建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“南澳網(wǎng)站設(shè)計(jì)”,“南澳網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
1^2+2^2+3^2+n^2 = n(n+1)(2n+1)/6
所以編程實(shí)現(xiàn)的話如下:
#include?"stdio.h"
int?main?()
{
int?n,ret;
printf("please?input?a?integer?n:");
scanf("%d",n);
while(n??0)
{
ret?=?n*(n+1)*(2*n+1)/6;
printf("result?:?%d\n",ret);
printf("please?input?a?integer?n:");
scanf("%d",n);
}
return?0;
}
首先你所求的數(shù)列是一個(gè)公差為1的二級(jí)等差數(shù)列,如下:
所求數(shù)列:1 2 4 7 11……
二級(jí)數(shù)列: 1 2 3 4……
因此解題的方法也就很明確了,第一步就是先求出二級(jí)數(shù)列,第二步就可以求出目標(biāo)數(shù)列,最后一步把目標(biāo)數(shù)列各項(xiàng)加起來(lái)就得到正確結(jié)果了。
C代碼如下,代碼可以求數(shù)列的前n項(xiàng)之和,n的值由自己設(shè)定,要求10項(xiàng)就鍵盤(pán)輸入10就ok了?。╪=100,這個(gè)值可以自己改,修改數(shù)組定義處的值就ok)
#include "stdio.h"
void main()
{
int a[100],b[100];
int i,n,sum=0;
a[0]=1;
printf("Please input How many numbers you need to summation?\n");
scanf("%d",n);
for(i=0;in-1;i++) //長(zhǎng)度為n-1的公差為1的數(shù)列b
{
b[i]=i+1;
}
for(i=0;in-1;i++) //求長(zhǎng)度為n的目標(biāo)數(shù)列a
{
a[i+1]=a[i]+b[i];
}
printf("The array is:\n"); //輸出目標(biāo)數(shù)列a
for(i=0;in;i++)
{
printf("%d ",a[i]);
}
printf("\n");
for(i=0;in;i++) //求數(shù)列前n項(xiàng)和
{
sum+=a[i];
}
printf("The summation result is:\n%d\n",sum);
}
代碼文本:
#include "stdio.h"
void fun(int n,int i){
if(i=n+n-1){
printf("%d",(i=n ? i : n+n-i));
fun(n,i+1);
}
return;
}
int main(int argc,char *argv[]){
int n;
printf("Enter n(int 0n10)...\nn=");
if(scanf("%d",n)==1 n0 n10){
printf("Item%d is ",n);
fun(n,1);
putchar('\n');
}
else
puts("Input error, exit...");
return 0;
}