FLS SDF2021 培训02期 第四课

When $a \ne 0$, jgjgjg34☁️4
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$

问题 A: N阶乘

When $a \ne 0$, 45267353786457835
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//题目描述
阶乘是基斯顿·卡曼(Christian Kramp,17601826)于 1808 年发明的运算符号,是数学术语。
一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且有0的阶乘为1
自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。亦即n!=1×2×3×...×n。阶乘亦可以
递归方式定义:0!=1,n!=(n-1)!×n。
请编写一个程序,输入一个非负整数n(0<=n<=20),计算N!。

//输入
输入n

{% raw %}
<p>
When $a \ne 0$,
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
</p>
{% endraw %}


//输出
输出计算结果

//样例输入
3
//样例输出
6
//提示

//提交
#include <iostream>
using namespace std;
long long j(int n) //函数名用函数功能来命名:阶乘(factorial)
{
if(n==1)
return 1;
return (n*j(n-1));
}
int main()
{
int n;
cin>>n;
cout<<j(n)<<endl;
return 0;
}

问题 B: 走楼梯

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//题目描述
楼梯有 N 级台阶,上楼可以一步上一阶, 也可以一步上二阶。 编程序,计算共有多少种不同走法?

//输入
输入一个整数,表示n(n<=50)。

//输出
输出一个整数,表示走法的个数。保证答案不超2^63-1.

//样例输入
3
//样例输出
3
//提示
输入输出均在64位整数范围内。

//提交
#include <iostream>
using namespace std;
long long x[51]={0};
long long zlt(int n)
{
if(n==1) // 无效分支
return 1;
if(x[n]!=0) // 已包含 n==1 的情况
return x[n];
return x[n]=zlt(n-1)+zlt(n-2); // 该语句容易引起误解
}
int main()
{
int n;
cin>>n;
x[1]=1;
x[2]=2;
cout<<zlt(n)<<endl;
return 0;
}

//错误答案1
#include <iostream>
using namespace std;
long long zlt(int n)
{
if(n==1)
return 1;
if(n==2)
return 2;
return zlt(n-1)+zlt(n-2);
}
int main()
{
int n;
cin<<n; //编译错误
cout<<zlt(n)<<endl;
return 0;
}
//错误答案2
#include <iostream>
using namespace std;
long long x[51]={0};
long long zlt(int n)
{
if(n==1) //无效分支
return 1;
if(x[n]!=0) //未处理边界 x[1], x[2]
return x[n];
return x[n]=zlt(n-1)+zlt(n-2);
}
int main()
{
int n;
cin>>n;
cout<<zlt(n)<<endl;
return 0;
}

问题 C: 阿克曼函数(递归)

$$c(u)=\begin{cases} \sqrt\frac{1}{N},u=0\ \sqrt\frac{2}{N}, u\neq0\end{cases} $$

$$sqrt{3x-1}+(1+x)^2$$

$$ evidence_{i}=\sum_{j}W_{ij}x_{j}+b_{i} $$

$$begin{array}{c}

nabla times vec{mathbf{B}} -, frac1c, frac{partialvec{mathbf{E}}}{partial t} &
= frac{4pi}{c}vec{mathbf{j}} nabla cdot vec{mathbf{E}} & = 4 pi rho \

nabla times vec{mathbf{E}}, +, frac1c, frac{partialvec{mathbf{B}}}{partial t} & = vec{mathbf{0}} \

nabla cdot vec{mathbf{B}} & = 0

end{array}$$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//题目描述
阿克曼( Ackmann) 函数 A(x, y) 中, x, y 定义域是非负整数, 函数值定义为:
c(u)=\begin{cases} \sqrt\frac{1}{N},u=0\\ \sqrt\frac{2}{N}, u\neq0\end{cases}
写出计算Ack(m, n)的递归算法程序。
//输入
输入两个数,表示m和n。 两个数均不超过10

//输出
输出一个数,表示结果(在longint范围内 )

//样例输入
1 1
//样例输出
3
//提示

//提交

问题 D

1
//

问题 E

1
//

问题 F

1
//
分享到