---
# System prepended metadata

title: 23-1 階層
tags: [DICE C]

---

---
tags: DICE C
---

23-1 階層
===

> [name=CHAWTeam]

目錄：[DICE C語言程式破解](/@CHAWTeam/DiceC)

題目
---

```!
輸入一正整數n，輸出從1到n的所有階乘值（建議使用遞迴函式）。

輸入範例:
6

輸出範例:
1!=1
2!=2
3!=6
4!=24
5!=120
6!=720

C範例程式:
#include <stdio.h>
#include <stdlib.h>
/*用遞迴找階乘值*/
int level(int i){
if(...){
return 1;
}
else{
return level(i-1)*i;
}
}

int main()
{
int i,j;
scanf(...);
for(...){
printf(...);
}
return 0;
}

C++範例程式:
#include<iostream>
using namespace std;
/*用遞迴找階層值*/
int level(int i){
if(i==1){
return 1;
}
else{
return level(i-1)*i;
}
}

int main()
{
int i,j;
cin>>i;
for(j=1;j<=i;j++){
cout<<j<<"!="<<level(j)<<endl;
}
return 0;
}
```

程式碼
---

```c=
#include <stdio.h>
#include <stdlib.h>

int level(int i) {
    if (i == 1) {
        return 1;
    }
    else {
        return level(i - 1) * i;
    }
}
    
int main() {
    int n, i;
    scanf("%d", &n);
    for(i = 1; i <= n; i++) {
        printf("%d!=%d\n", i, level(i));
    }
    return 0;
}
```

執行
---

### 輸入

```!
6
18
```

### 輸出

```!
6
```

---

[查看我們在HackMD上的所有筆記](/@CHAWTeam)
目錄：[DICE C語言程式破解](/@CHAWTeam/DiceC)

---

{%hackmd Iiu5mOixR7yWkPHKCkabBg %}
<iframe class="LikeCoin" height="235" src="https://button.like.co/in/embed/chawteam/button?referrer=https://hackmd.io/@CHAWTeam/DiceC-22-10" width="100%"></iframe>

---

{%hackmd i1nMRrZcTFmTvoF897K9zg %}