- 博客(6)
- 收藏
- 关注
原创 C++递归输出斐波那契数列
/*解题思路:an=an-2+an-1*/#include <stdio.h>int fbnq(int n){ if (n <= 2) return 1; //n=1,2 返还 1; else return fbnq(n - 1) + fbnq(n - 2); //n>2 返还前两个数之和}int main(){ int n = 0; int i; int result; printf.
2021-11-05 20:35:01 1495
原创 C++递归求最大公约数
/*解题思路:如果两个数为 0,则最大公约数为 0;如果两个数可以直接相除,则最大公约数为除数;其余情况使用辗转相除法递归*/#include <stdio.h>int gcd(int m, int n){ if (m == 0 || n = = 0) return 0; if (m % n == 0) return n; //如果 b 能被 a 整除则 b 就是最大公约数 else gcd(n, m ...
2021-11-05 20:33:32 3518
原创 C++百钱买百鸡问题
中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”: 鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、 雏各几何?/*解题思路:公鸡+母鸡+小鸡=1005*公鸡+3*母鸡+1/3*小鸡=100公鸡、母鸡、小鸡=【0-100】*/#include <stdio.h>#include <stdlib.h>int main(){ int i, j, k; //i 是公鸡个数,j 是母鸡个数,k 是小鸡的个数 fo
2021-11-05 20:31:56 2302 1
原创 C++分治法排序查找
对乱序整数序列,先用快速排序按非减序排列,再进行二分查找,查找某个元素是否存在,若存在返回匹配的第一个下标位置(从0开始),不存在返回-1。#include<iostream>#define Maxsize 20using namespace std; void QuickSort(int R[], int s, int t) //对R[s]至R[t]的元素进行快速排序{ int i = s, j = t; int tmp; if (s .
2021-11-05 20:28:57 828
原创 C++模拟连续存储分配管理
/*可变分区存储管理方案中的内存分配本程序包括:FIFO,最优适应分配算法,最坏适应算法input file:freememory.txtdata:10 1530 550 2080 12120 25160 18200 8gcc 8.1.0调试通过*/#include <stdio.h>#include <string.h>#include <iostream>#include <iomanip>const int MAXJ.
2021-11-05 20:24:29 1112
原创 分别用穷举法、分治法、动态规划法编程实现最大子段和问题
#include <iostream>using namespace std;//蛮力法int maxSum_1(int a[], int n, int &L, int &R){ int maxSum = 0; int sum = 0; int i, j; for (i = 0; i < n; i++) //从第一个数开始算起 { for (j = i + 1; j < n; j++) //从i的第二个.
2021-11-05 20:20:37 1854
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人