Skip to content

Markdown 拓展语法示例

本站是使用 Vitepress 建立的,Vitepress 对 Markdown 语法做了一些拓展。尽管我们建议尽可能使用标准的 Markdown 语法,但有一些拓展还是有必要的。

语法高亮

Vitepress 内置的语法高亮是基于 Shikiji 构建的, 因此可以去官网查阅更多相关信息。

下面是一些基础的语法高亮示例。

输入语法

md
```js{4}
export default {
  data () {
    return {
      msg: 'Highlighted!'
    }
  }
}
```

输出效果

js
export default {
  data () {
    return {
      msg: 'Highlighted!'
    }
  }
}

自定义容器

输入语法

md
::: info
This is an info box.
:::

::: tip
This is a tip.
:::

::: warning
This is a warning.
:::

::: danger
This is a dangerous warning.
:::

::: details
This is a details block.
:::

输出效果

INFO

This is an info box.

TIP

This is a tip.

WARNING

This is a warning.

DANGER

This is a dangerous warning.

Details

This is a details block.

引入外部文件

主要展示如何从外部引入 mdpy / cpp 文件。

md
## 求阶乘之和(外部文件)

### 问题描述

输入一个正整数 $n$ ($1 \le n \le 10$),编程求:

$1!+2!+3!+...+n!$

$N$ 的阶乘写作 $N!$,$N!=1 \times 2 \times 3 \times ... \times n$

### 输入描述

输入一行,只有一个正整数 $n$ ($1 \le n \le 10$)

### 输出描述

输出只有一行,包括 1 个整数

### 输入输出样例

求阶乘之和(外部文件)

问题描述

输入一个正整数 n (1n10),编程求:

1!+2!+3!+...+n!

N 的阶乘写作 N!N!=1×2×3×...×n

输入描述

输入一行,只有一个正整数 n (1n10)

输出描述

输出只有一行,包括 1 个整数

输入输出样例

代码实现(C++)

md
<<< ../problems/demo_solution.cpp
cpp
#include <iostream>
using namespace std;

int factorial(int n) {
  int rlt = 1;
  for (int i = 2; i <= n; i++) {
    rlt *= i; 
  }
  return rlt;
}

int main() {
  int n;
  cin >> n;

  int sum = 0;
  for (int i = 1; i <= n; i++) {
    sum += factorial(i);
  }

  cout << sum << endl;
  
  return 0;
}

代码实现(Python)

md
<<< ../problems/demo_solution.py
py
def factorial(n):
    result = 1
    for i in range(2, n+1):
        result *= i
    return result

n = int(input())

sum = 0
for i in range(1, n+1):
    sum += factorial(i)

print(sum)

更多

更多语法介绍,见这里: full list of markdown extensions.