山东理工大学-2022级-程序设计基础II-实验4 递推
7-2 養兔子
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
一對成熟的兔子每天能且只能產下一對小兔子,每次都生一公一母,每只小兔子的成熟期是1天,小兔子出生后隔一天才能再生小兔子。第一天某人領養了一對成熟的兔子,一公一母,請問第N天以后,他將會得到多少對兔子。
輸入格式:
輸入為一個整數n(1≤n≤90)。
輸出格式:
對應輸出第n天有幾對兔子(假設沒有兔子死亡現象,而且是一夫一妻制)。
輸入樣例1:
1輸出樣例1:
1輸入樣例2:
2輸出樣例2:
2#include <stdio.h>
#include <stdlib.h>
int main()
{
long long n,a[95]={0,1,2};
scanf("%d",&n);
for(int i=3;i<=n;i++)
{
a[i]=a[i-2]+a[i-1];
}
printf("%lld",a[n]);
return 0;
}
7-3 母牛的故事
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
有一對夫婦買了一頭母牛,它從第2年起每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。
請編程實現在第n年的時候,共有多少頭母牛?
輸入格式:
輸入為一個整數n(0< n< 55)
輸出格式:
輸出在第n年的時候母牛的數量。
輸入樣例1:
2輸出樣例1:
2輸入樣例2:
5輸出樣例2:
6#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,a[60]={0,1,2,3};
scanf("%d",&n);
for(int i=4;i<=n;i++)
{
a[i]=a[i-1]+a[i-3];
}
printf("%d",a[n]);
return 0;
}
7-4 黃金時代
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
在古希臘時期,有一天畢達哥拉斯走在街上,在經過鐵匠鋪前他聽到鐵匠打鐵的聲音非常好聽,于是駐足傾聽。他發現鐵匠打鐵節奏很有規律,這個聲音的比例被畢達哥拉斯用數學的方式表達出來。
這個比例就叫做黃金分割比,它是指將整體一分為二,較大部分與整體部分的比值等于較小部分與較大部分的比值,其比值約為0.6180339887。這個比例被公認為是最能引起美感的比例,因此被稱為黃金分割。
現在小玉有一個正整數數列,這個數列的前一項和后一項的比值十分趨近于黃金分割比,即(a[i])/(a[i+1])~ 0.6180339887,(i>=1),可是她只知道數列的第一項是5,現在她想通過已有條件推斷出數列的任意項,請你幫助她編寫一個程序計算。(請留意題目提示)
輸入格式:
每次輸入一個整數n(1<=n<=20)
輸出格式:
輸出一個數,代表這個數列的第n項a[n]。
輸入樣例:
1輸出樣例:
5#include <stdio.h>
#include <stdlib.h>
#define f 0.6180339887
int main()
{
int n;
int a[30];
scanf("%d",&n);
a[1]=5;
a[2]=8;
for(int i=3;i<=n;i++)
{
a[i]=a[i-1]+a[i-2];
}
printf("%d",a[n]);
return 0;
}
7-5 骨牌鋪方格
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
在2×n的一個長方形方格中,用一個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數.
例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:
輸入格式:
輸入包含一個整數n,表示該測試實例的長方形方格的規格是2×n (0< n<=50)。
輸出格式:
輸出鋪放方案的總數。
輸入樣例:
在這里給出一組輸入。例如:
3輸出樣例:
在這里給出相應的輸出。例如:
3#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf("%d",&n);
long long a[55]={0,1,2};
for(int i=3;i<=n;i++)
{
a[i]=a[i-1]+a[i-2];
}
printf("%lld",a[n]);
return 0;
}
7-1 馬攔過河卒
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
棋盤上A點有一個過河卒,需要走到目標B點。卒行走的規則:可以向下、或者向右。同時在棋盤上C點有一個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為“馬攔過河卒”。
棋盤用坐標表示,A點(0,0)、B點(n,m)(n,m為不超過15的整數),同樣馬的位置坐標是需要給出的。現在要求你計算出卒從A點能夠到達B點的路徑的條數,假設馬的位置是固定不動的,并不是卒走一步馬走一步。
輸入格式:
一行四個數據,用空格分隔,分別表示B點的坐標和馬的坐標。
輸出格式:
一個數據,表示所有的路徑條數。
輸入樣例:
6 6 3 3輸出樣例:
6#include<stdio.h>
int main()
{
int dx[9]={0,-2,-1,1,2,2,1,-1,-2};
int dy[9]={0,1,2,2,1,-1,-2,-2,-1};
int m , n , x, y,i , j ;
long long int f[20][20]={0};
int g[20][20]={0};
scanf("%d %d %d %d",&n,&m,&x,&y);
g[x][y]=1;
for(i=1;i<=8;i++)
if(x+dx[i]>=0&&x+dx[i]<=n&&y+dy[i]>=0&&y+dy[i]<=m)
g[x+dx[i]][y+dy[i]]=1;
for(i=1;i<=n;i++)
{
if(g[i][0]!=1)
f[i][0]=1;
else
for(;i<=n;i++)
{
f[i][0]=0;
}
}
for(j=1;j<=m;j++)
{
if(g[0][j]!=1)
f[0][j]=1;
else
for(;j<=m;j++)
f[0][j]=0;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(g[i][j]==1)
f[i][j]=0;
else
f[i][j]=f[i-1][j]+f[i][j-1];
}
}
printf("%lld\n",f[n][m]);
return 0;
}
7-6 爬樓梯
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
小明是個非常無聊的人,他每天都會思考一些奇怪的問題,比如爬樓梯的時候,他就會想,如果每次可以上一級臺階或者兩級臺階,那么上 n 級臺階一共有多少種方案?
輸入格式:
輸入只有一行為一個正整數 n(1 ≤ n ≤ 50)。
輸出格式:
輸出符合條件的方案數。
輸入樣例:
在這里給出一組輸入。例如:
4輸出樣例:
5#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf("%d",&n);
long long a[55]={0,1,2};
for(int i=3;i<=n;i++)
{
a[i]=a[i-1]+a[i-2];
}
printf("%lld",a[n]);
return 0;
}
7-7 三國佚事——巴蜀之危
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
話說天下大勢,分久必合,合久必分。。。卻道那魏蜀吳三國鼎力之時,多少英雄豪杰以熱血譜寫那千古之絕唱。古人誠不我欺,確是應了那句“一將功成萬骨枯”。
是夜,明月高懸。諸葛丞相輕搖羽扇,一臉愁苦。原來是日前蜀國戰事吃緊,丞相徹夜未眠,奮筆急書,于每個烽火臺寫下安排書信。可想,這戰事多變,丞相運籌 帷幄,給諸多烽火臺定下不同計策,卻也實屬不易。
誰成想這送信小廝竟投靠曹操,給諸葛丞相暗中使壞。這小廝將每封書信都投錯了烽火臺,居然沒有一封是對的。不多時小廝便被抓住,前后之事卻也明朗。這可急壞了諸葛丞相,這書信傳錯,勢必會讓蜀軍自亂陣腳,不攻自破啊!
諸葛丞相現在想知道被這小廝一亂,這書信傳錯共有多少種情況。
輸入格式:
輸入一個正數n,代表丞相共寫了n(1 <= n <= 20)封書信。
輸出格式:
輸出書信傳錯的情況數。
輸入樣例:
3輸出樣例:
2#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf("%d",&n);
long long a[25]={0,0,1,2};
for(int i=4;i<=n;i++)
{
a[i]=(i-1)*(a[i-1]+a[i-2]);
}
printf("%lld\n",a[n]);
return 0;
}
7-8 王小二切餅
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
王小二自夸刀工不錯,有人放一張大的煎餅在砧板上,問他:“餅不許離開砧板,切n(1<=n<=100)刀最多能分成多少塊?”
輸入格式:
輸入切的刀數n。
輸出格式:
輸出為切n刀最多切的餅的塊數。
輸入樣例:
100輸出樣例:
5051#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf("%d",&n);
int a[105]={0,2};
for(int i=2;i<=n;i++)
{
a[i]=i+a[i-1];
}
printf("%d",a[n]);
return 0;
}
7-9 蟠桃記
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
孫悟空在大鬧蟠桃園的時候,第一天吃掉了所有桃子總數一半多一個,第二天又將剩下的桃子吃掉一半多一個,以后每天吃掉前一天剩下的一半多一個,到第n天準備吃的時候只剩下一個桃子。這下可把神仙們心疼壞了。
請幫忙計算一下,第一天開始吃的時候一共有多少個桃子?
輸入格式:
輸入包含一個正整數n(1≤n≤30),表示只剩下一個桃子的時候是在第n天發生的。
輸出格式:
輸出第一天開始吃的時候桃子的總數。
輸入樣例:
2輸出樣例:
4#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf("%d",&n);
int a[35]={0,1};
for(int i=2;i<=n;i++)
{
a[i]=(a[i-1]+1)*2;
}
printf("%d",a[n]);
return 0;
}
7-10 C語言實驗——拍皮球
分數 20
全屏瀏覽題目
切換布局
作者 ly單位 山東理工大學
小瑜3歲了,很喜歡玩皮球,看來今后喜歡打籃球的^_^。最近她發現球從手中落下時,每次落地后反跳回原高度的一半,再落下,每次球落地時數球跳了幾次,數到n次時爸爸在邊上喊停,問小瑜現在球到底總共走了多少距離,小瑜故作沉思狀,爸爸又問接下來小球能跳多高啊,小瑜搖搖頭,心想還沒跳我怎么知道啊,難道爸爸是神啊!這時的你在邊上出主意想給小瑜寫個程序計算一下,因此任務就交給你啦!
假設球的初始高度為h,計算第n次落地時球經過的距離,以及落地后反彈能有多高。
輸入格式:
每行有兩個數,球的初始高度h(h<=100)和球落地的次數n(n <= 10),用空格分隔。
輸出格式:
輸出第n次反彈時球經過的距離和球最后的高度,保留小數點后2位。
輸入樣例:
100 1輸出樣例:
100.00 50.00#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
double h,sum=0;
scanf("%lf %d",&h,&n);
{
for(int i=1;i<=n;i++)
{
if(i==1)
{
sum=h;
}
else
{
sum+=(h*2.0);
}
h/=2.0;
}
}
printf("%.2f %.2f",sum,h);
return 0;
}
總結
以上是生活随笔為你收集整理的山东理工大学-2022级-程序设计基础II-实验4 递推的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数组:V45I
- 下一篇: 夏驰和徐策的大学英语四六级备考