遞迴實現:1 + 1/2
/* 遞迴實現:
*
* 1 + 1/2 - 1/3 + 1/4 - 1/5.......
*/
#include<stdio.h>
#include<stdlib.h>
double Recursion(int n)
{
if(n==1)
{
return 1;
}
else if(n%2==0)
{
return Recursion(n-1)+1.0/n;
}
else
{
return Recursion(n-1)-1.0/n;
}
}
int main()
{
int n;
printf("請輸入n的值:\n");
scanf("%d",&n);
double result=Recursion(n);
printf("結果為:%lf\n",result);
return 0;
}
相關推薦
遞迴實現:1 + 1/2
/* 遞迴實現: * * 1 + 1/2 - 1/3 + 1/4 - 1/5....... */ #include<stdio.h> #include<s
用遞迴實現數制轉換(2-16)
public static String baseString(int n,int b) { String str="", strBt="0123456789abcdef"; if(n<=0) { return ""; }else { str=ba
用java寫以下小程式碼1. 使用for迴圈列印乘法口訣表 2. 遞迴實現20! 3. 使用陣列靜態初始化方式初始化一個大小為10的整型陣列並輸出。
1.九九乘法表 public class Test { public static void main(String[] args) { int i; int j; for(i=1;i<10;i++) { for(j=1;j<=i;j++)
遞迴實現順序輸出整數-2017-2018-1 實驗10.2 遞迴函式等(課堂練習)
6-1 遞迴實現順序輸出整數(15 分) 本題要求實現一個函式,對一個整數進行按位順序輸出。 函式介面定義: void printdigits( int n ); 函式printdigits應將n的每一位數字從高位到低
python遞迴練習:生成一個n級深度的字典,例如:[1,2,3,4,5,6] 可以生成{1: {2: {3: {4: {6: 5}}}}},寫一個函式定義n級
結果#encoding = utf-8#題目:#生成一個n級深度的字典,例如:[1,2,3,4,5,6] 可以生成{1: {2: {3: {4: {6: 5}}}}},寫一個函式定義n級a=[1,2,3,4,5,6] def fun(n,i=0,dict1={}): if i ==n-1: dict1[a[
HTML:用遞迴的方法計算1+2+3+4...+10
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>用遞迴的方法計算1+2+3+4...+10</tit
第4章第1節練習題2 二叉樹的基本操作(非遞迴實現)
二叉樹的非遞迴遍歷 上一節二叉樹的遞迴遍歷中簡單介紹了二叉樹的遞迴遍歷的實現方式,本節主要介紹二叉樹的非遞迴遍歷實現,繼續引用上節的例子來說明下。 一.先序遍歷 二叉樹先序遍歷的訪問順序為:根結點->左孩子->右孩子。簡單的說,對於任意
斐波那契數列1 1 2 3 5 8 13 21 。。。。 求第n個數 使用遞迴實現
public class demo12 { public static void main(String[] args) {System.out.println(cp(10));} public static int cp(int n){ if(n<=0){
二、(1)二叉樹的先序遍歷(遞迴實現、迭代實現)
二叉樹本來是分層結構,但若施加某種約束(如遍歷),則可以轉變成線性結構。 二叉樹的遍歷方法主要有:前序遍歷(DLR),中序遍歷(LDR),後序遍歷(LRD),層次遍歷。本文主要介紹二叉樹前序遍歷方法,其中包括了遞迴和迭代兩種實現方式。 前序遍歷:根節點->左子樹->右子樹(根
3.1 表示式求值(遞迴實現)
#include<iostream> #include<cstring> using namespace std; int term(); int expr(); int factor(); int expr() { i
Unity遞迴思想 階乘 1 1 2 3 5 8 13 和遞迴尋找子物體
遞迴的核心思想就是自己呼叫自己,只要能說出來,就能用程式碼寫出來 public int 階乘(int index) { &nbs
使用遞迴函式,計算1+2+3+……+n的和
#for迴圈 n = int(input('請輸入一個正整數:')) sum = 0 for i in range(n + 1): sum += i print(sum) #遞迴呼叫 n = int(input('請輸入一個正整數:')) def Sum(n): if n
程式基本演算法習題解析 用遞迴函式求 s=1+2+3+...+n 的和。
附上程式碼: // Chapter6_2.cpp : Defines the entry point for the application. // 用遞迴函式求 s=1+2+3+...+n 的和 #include "stdafx.h" #include<iostream> usi
6-1 遞迴實現指數函式 (15 分)
6-1 遞迴實現指數函式 (15 分) 本題要求實現一個計算xn(n≥1)的函式。 函式介面定義: double calc_pow( double x, int n ); 函式calc_pow應返
用遞迴實現1到100的和,1到10的階乘
遞迴:方法定義中呼叫方法本身的現象 注意實現: 1.遞迴一定要有出口,否則就是死遞迴 StackOverflowError 2.遞迴的次數不能過多,否則也會出現死遞迴 特殊事項:構造方法不可以遞迴定義 舉例: 從前有座山,山上有座廟,廟裡有個老和尚,老和尚再給小和尚講故事,故事
C++實現:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)
程式碼: class Solution { public: class Sum { public: Sum() { s_count++; s_sum += s_count;
遞迴實現1到100的和、10的階乘(Java語言)
遞迴需慎用。 package demo; public class Test { public static void main(String[] args) { Sys
在java中用遞迴函式求出1!+2!+3!+4!。。。。。。。
這個就是個簡單的遞迴過程,具體看看怎麼來實現: package excise; public class Test2 { public static void main(String arg
0-1揹包問題的遞迴實現與非遞迴實現
題目有N件物品和一個容量為V的揹包。第i件物品的費用是c[i],價值是w[i]。求解將哪些物品裝入揹包可使價值總和最大。基本思路這是最基礎的揹包問題,特點是:每種物品僅有一件,可以選擇放或不放。用子問題定義狀態:即f[i][v]表示前i件物品恰放入一個容量為v的揹包可以獲得
0-1揹包問題遞迴與非遞迴實現
0-1揹包問題有很多介紹,現在先不做說明,有時間補上。以下是遞迴的實現: package test; public class Package01 { public int f(int n, int V,int[] w,int[] v) { if (n