文章目录
- 例题
- 1. 804.n的阶乘
- 2. 805.x和y的最大值
- 3. 808.最大公约数
- 4. 811.交换数值
- 5. 812.打印数字
- 6. 813.打印矩阵
- 7. 819.递归求阶乘
- 8. 820.递归求斐波那契数列
例题
1. 804.n的阶乘
Acwing 804.n的阶乘
#include<iostream>
using namespace std;
int fact(int n)
{
if(n == 1) return 1;
return n * fact(n - 1);
}
int main()
{
int n;
cin >> n;
cout << fact(n) <<endl;
return 0;
}
2. 805.x和y的最大值
Acwing 805.x和y的最大值
#include<iostream>
using namespace std;
int max(int x,int y)
{
return x>y?x:y;
}
int main()
{
int n, m;
cin >> n >> m;
cout << max(n,m) << endl;
return 0;
}
3. 808.最大公约数
Acwing 808.最大公约数
#include<iostream>
using namespace std;
int gcd(int a, int b)
{
for(int i = 1000; i > 0; i--)// 直接进行计算
if(a % i == 0 && b % i == 0)
return i;
return 0;
}
int main()
{
int n, m;
cin >> n >> m;
cout << gcd(n, m) << endl;
return 0;
}
4. 811.交换数值
Acwing 811.交换数值
#include<iostream>
using namespace std;
void swap(int &x, int &y)
{
int t = x;
x = y;
y = t;
}
int main()
{
int n, m;
cin >>n >> m;
swap(n, m);
cout << n << ' '<< m << endl;
return 0;
}
5. 812.打印数字
Acwing 812.打印数字
#include<iostream>
using namespace std;
const int N = 1010;
int a[N];
void print(int a[], int size)
{
for(int i = 0; i < size;i ++)
cout << a[i] << ' ';
cout << endl;
}
int main()
{
int n, size;
cin >> n >> size;
for(int i = 0; i < n; i++) cin >> a[i];
print(a,size);// 这里直接写数组名就可以
return 0;
}
6. 813.打印矩阵
Acwing 813.打印矩阵
#include<iostream>
using namespace std;
void print2D(int a[][100], int row, int col)
{
for(int i = 0; i < row; i++)
{
for(int j = 0; j < col; j++)
{
cout << a[i][j] << ' ';
}
cout << endl;
}
}
int main()
{
int row, col;
cin >> row >> col;
int a[100][100];
for(int i = 0; i < row; i++)
for(int j = 0; j < col; j++)
cin >> a[i][j];
print2D(a, row, col);
return 0;
}
7. 819.递归求阶乘
Acwing 819.递归求阶乘
#include<iostream>
using namespace std;
int fact(int n)
{
if(n == 1) return 1;
else return n * fact(n - 1);
}
int main()
{
int n;
cin >> n;
cout << fact(n) << endl;
return 0;
}
8. 820.递归求斐波那契数列
Acwing 820 .递归求斐波那契数列
- 树的深度优先遍历
#include<iostream>
using namespace std;
int f(int n)
{
if(n <= 2) return 1;
return f(n - 1) + f(n - 2);
}
int main()
{
int n;
cin >> n;
cout << f(n) << endl;
return 0;
}