C++程式設計課程設計論文
《c++程式設計》課程設計報告論文班級:數學3班 學號:2018212790報告人姓名:朱泳基 實驗地點:東校區教學樓413完成起止日期: 2019年1月2號到1月5號①簡要題意:有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛? 解題思路:這道題問第幾年有幾頭牛,首先看輸入輸出,可以知道當年數小於等於4的時候,第幾年就有幾頭牛,當n大於4的時候,這時候第一年出生的小母牛又可以生小牛了,也就是說要考慮到小牛是否可以生了。每年都有有a(n-1)頭母牛,那麼就要知道這一年出生的母牛有多少。第n-3年有多少頭母牛,到了第n年這些牛都能生小牛了,因此出生數a(n-3。 從而今年的母牛數為a(n)=a(n-1)+a(n-3)。因此得到遞推公式:a(1)=1,a(2)=2,a(3)=3,a(n)=a(n-1)+a(n-3)(n>=4)。解題細節:只要弄清題意,找到規律a(1)=1,a(2)=2,a(3)=3,a(n)=a(n-1)+a(n-3)(n>=4),就行了。原碼:#include int a[60];//開的稍微大一點int main(){ int n; a[1] = 1; a[2] = 2; a[3] = 3; a[4] = 4; for(int i=5;i <= 60;i++) a[i] = a[i-1] + a[i-3]; while(~scanf("%d",&n) && n != 0){//等價於scanf("%d",&n) != EOF printf("%d\n",a[n]); } return 0;o}②簡要題意:有一個長度為n(n<=100)的數列,該數列定義為從2開始的遞增有序偶數,現在要求你按照順序每m個數求出一個平均值,如果最後不足m個,則以實際數量求平均值。程式設計輸出該平均值序列。解題思路:數列:2,4,6,8,10,12,14,16,18,20,22,24 …… 2n每 m 個數求出一個平均值,即求這 m 個數中的“第一個數和最後一個數的平均值”.假設 q = n /m ; r = n % m ;(q = 1,2,3,4 …… ; r = 0,1,2,3 …… ;即數列可分成 q 組餘 r 個數) 則:m 個數一組的時候:第一個數:2 * [ ( q -1) * m + 1 ] 。最後一個數:2 * q * m 平均值:2 * q * m - m + 1最後不足 m 個數的時候:第一個數:2 * [ ( q -1) * m + 1 ] 最後一個數:2 * [ ( q -1) * m + r ] 平均值:2 * q * m - 2 * m + r + 1原碼: #include<stdio.h>int main(){ int n,m,i,sum,num; while(scanf("%d %d",&n,&m)!=EOF) { num=0;sum=0; for(i=2;i<=n2;i+=2) { sum+=i; num++; if(num==m&&(i!=n