繁體
|
簡體
Sclub交友聊天~加入聊天室當版主
(檢舉)
分享
新浪微博
QQ空间
人人网
腾讯微博
Facebook
Google+
Plurk
Twitter
Line
標題:
c++練習題10
[打印本頁]
作者:
Smallcat
時間:
2018-12-17 19:08
標題:
c++練習題10
下載
(159.16 KB)
2018-12-17 19:08
#include<stdio.h>
#include<math.h>
double recurs(double n){
if(n==2){
return 1.0/2;
}
return 1/(n*(n-1)) + recurs(n-1);
}
double recurpi(double n){
double pro;
if(n==0){
return 4;
}
pro = (2*n+1)*(2*n+1);
return (pro-1)/pro * recurpi(n-1);
}
int main(void){
double n,i=1;
printf("輸入n for a小題:");
scanf("%lf",&n);
printf("%lf\n",recurs(n));
printf("輸入n for b小題:");
scanf("%lf",&n);
printf("%lf\n",recurpi(n));
//加分題
do{
i++;
}while(fabs(M_PI - recurpi(i)) >0.005);
printf("when n = %lf , approximated value πreduces to 0.005.\n",i);
printf("approximated value π= %lf\n",recurpi(i));
printf("constant π= %lf",M_PI);
}
複製代碼
圖片附件:
1545044585478.jpg
(2018-12-17 19:08, 159.16 KB) / 下載次數 632
http://smallcat.utmall.com/attachment.php?aid=473&k=47198810cf13f5e2d6cea935d8dd3112&t=1713556246&sid=ss5kbQ
作者:
Smallcat
時間:
2018-12-17 19:09
下載
(106.08 KB)
2018-12-17 19:08
#include<stdio.h>
double power(int x, int y){
if(y<0){
return 1.0/power(x,-y);
}
if(y==0){
return 1;
}
if(y==1){
return x;
}
return x * power(x,y-1);
}
int main(void){
int x,y;
printf("輸入x和y: ");
scanf("%d %d",&x,&y);
printf("\n%d 的 %d 次方 = %lf",x,y,power(x,y));
}
複製代碼
圖片附件:
1545044619839.jpg
(2018-12-17 19:08, 106.08 KB) / 下載次數 634
http://smallcat.utmall.com/attachment.php?aid=474&k=3f1bcff727e5f87456af7e65260b6a97&t=1713556246&sid=ss5kbQ
作者:
Smallcat
時間:
2018-12-17 19:09
下載
(45.68 KB)
2018-12-17 19:09
#include<stdio.h>
int walk(int n){
if(n==1){
return 1;
}
if(n==2){
return 2;
}
if(n==3){
return 4;
}
return walk(n-1) + walk(n-2) + walk(n-3);
}
int main(void){
int n;
printf("輸入總步數:");
scanf("%d",&n);
printf("有%d種方法",walk(n));
}
複製代碼
圖片附件:
1545044653171.jpg
(2018-12-17 19:09, 45.68 KB) / 下載次數 664
http://smallcat.utmall.com/attachment.php?aid=475&k=e861b914cf1d8a3f07748b76292a702a&t=1713556246&sid=ss5kbQ
作者:
Smallcat
時間:
2018-12-17 19:10
前言:此題由
艾菇
提供,感謝給力支援。
下載
(51.9 KB)
2018-12-17 19:09
下載
(25.02 KB)
2018-12-17 19:12
#include<stdio.h>
void walk(int step,int remain,int *list,int idx){
/*step 現在要走一步還是兩步
remain 現在剩下幾步
list 紀錄這次要走幾步
idx 紀錄這次是第幾次移動
*/
int i;
int n_remain = remain - step; //下次會剩下幾步
*(list + idx) = step; //紀錄這次要走幾步
if(n_remain == 0){ //要走到終點了
for(i=0 ; i <= idx ; i++){ //將紀錄的步數輸出
printf("%d",list[i]);
}
printf("\n");
}else if(n_remain>0){
idx++; //紀錄增加一次移動
walk(1,n_remain,list,idx);
walk(2,n_remain,list,idx);
}else{ //n_remain為負,不合理的情況
return;
}
}
int main(void){
int dis;
printf("輸出總距離: ");
scanf("%d",&dis);
int list[dis];
walk(1,dis,list,0);
walk(2,dis,list,0);
}
複製代碼
圖片附件:
1545044702138.jpg
(2018-12-17 19:09, 51.9 KB) / 下載次數 710
http://smallcat.utmall.com/attachment.php?aid=476&k=6af3974b8576625d15a19b415a7e3081&t=1713556246&sid=ss5kbQ
圖片附件:
1545045105620.jpg
(2018-12-17 19:12, 25.02 KB) / 下載次數 686
http://smallcat.utmall.com/attachment.php?aid=477&k=ad0715e96c99298a2d662018a50c31b4&t=1713556246&sid=ss5kbQ
作者:
Smallcat
時間:
2018-12-17 19:15
下載
(65.27 KB)
2018-12-17 19:15
#include<stdio.h>
int cover(int n){
if(n<=2){
return 2;
}
return 2 * cover(n-2);
}
int main(void){
int n;
printf("輸入n: ");
scanf("%d",&n);
printf("%d種可能",cover(n));
}
複製代碼
圖片附件:
1545044706770.jpg
(2018-12-17 19:15, 65.27 KB) / 下載次數 623
http://smallcat.utmall.com/attachment.php?aid=478&k=7a8d5c7cc8bcd7e920540d213fc3de90&t=1713556246&sid=ss5kbQ
歡迎光臨 小貓貓大聯盟!幻與想的境界\(0w0)/ (http://smallcat.utmall.com/)
Powered by Discuz! 7.2