笔记
小火山03
深度学习小菜鸟
展开
-
c/c++大数乘法 1977的阶乘
#include <iostream>using namespace std;const int MAX = 10005;//倒叙存入的数据int main() { int d[MAX]; int len=1,rem=0;//rem是保存从最低位取出数据与当前数相乘。 d[0] = 1; for(int i = 1; i <= 1977; i++){ for(int j = 0; j < len; j++){原创 2021-12-11 22:00:37 · 479 阅读 · 0 评论 -
C/C++ 蛇形矩阵/蛇形填数
在 n * n 方阵里填入 1, 2, …, n * n, 要求填成蛇形。例如 n = 4 时方阵为:10 11 12 19 16 13 28 15 14 37 6 5 4这是从右上角开始的蛇形矩阵,如果从左上角开始变换一下位置即可。初始化第一个值,在填数据的时候判断下一个位置是否为0。#include <iostream>#define N 105using namespace std;int main(){ int n; cin>>.原创 2021-11-30 21:49:14 · 1059 阅读 · 1 评论 -
C/C++二维数组顺时针翻转90度
题目来源 c语言网:https://www.dotcpp.com/oj/problem2308.html图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时 针旋转 90 度。我们用一个 n × m 的二维数组来表示一个图片,例如下面给出一个 3 × 4 的 图片的例子:1 3 5 79 8 7 63 5 9 7这个图片顺时针旋转 90 度后的图片如下:3 9 15 8 39 7 57 6 7给定初始图片,请计算旋转后的图片#include <iostream&.原创 2021-11-28 10:45:43 · 6129 阅读 · 0 评论 -
C/C++判断是否为素数(最快)
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数常规解法,一层for循环从头开始遍历,小于sqrt(n),如果n % i == 0那么则不是素数。利用数学知识,所有的数都可以用6n6n+16n+2(3n+1)6n+3(2n+1)6n+4(3n+2)6n+5来表示,因为加括号的数肯定为素数,所以只需要判断6n+1和6n+5是否为素数,以及最初的1,2,3#include <iostream>#include <mat.原创 2021-11-22 21:42:25 · 2138 阅读 · 0 评论 -
某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件
某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:1)A和B两人中至少去一人;2)A和D不能一起去;3)A、E和F三人中要派两人去;4)B和C都去或都不去;5)C和D两人中去一个;6)若D不去,则E也不去。问应当让哪几个人去?#include <iostream>using namespace std;int main(){ int a,b,c,d,e,f; for(int a=0;a<2;a.原创 2021-11-21 22:02:53 · 1966 阅读 · 0 评论 -
C/C++求3000以内的亲密数
两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。#include <iostream>#define N 3001using namespace std;int judge(int n){ int sum = 0; for(int i = 1; i <= n/2; i++){ if(n % i == 0).原创 2021-11-21 21:01:07 · 1726 阅读 · 0 评论 -
C/C++ 输出20对孪生素数
孪生素数就是指相差2的素数对,例如3和5,5和7,11和13…。孪生素数猜想正式由希尔伯特在1900年国际数学家大会的报告上第8个问题中提出,可以这样描述:存在无穷多个素数p,使得p + 2是素数。素数对(p, p + 2)称为孪生素数。#include <iostream>#include <math.h>using namespace std;bool isPrime(int n){//判断是否为素数 int flag = 1; for(int .原创 2021-11-20 21:10:34 · 1855 阅读 · 0 评论 -
C/C++先序创建二叉树以及二叉树的遍历
输入 ABD##E##CF### 创建二叉树#include <iostream>using namespace std;typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;void Create(BiTree &T){ char ch; cin>>ch; if(ch == '#') .原创 2021-11-19 21:59:00 · 566 阅读 · 0 评论 -
C/C++ 实现二维数组的矩阵相乘和矩阵相加
C++实现矩阵相乘和相加运算这里只实现了N * N矩阵的相加和相乘,如果想要实现N*M 和 M*S矩阵相乘,得到N*S矩阵,只需要将乘法的i,j改成N和S的值,k对应的是M的值#include <iostream>#define N 3using namespace std;void Print(int Mx[N][N]){//二维数组引用第二个参数必须要有值,否则编译不通过 for(int i = 0; i < N; i++){ for(int j.原创 2021-11-18 21:42:48 · 4161 阅读 · 0 评论 -
C++ 将最小元素插入到数组的最前面
例如:原数组为2,3,4,5,1,6,7,8,9,10运行之后的数据为:1,2,3,4,5,6,7,8,9,10#include <iostream>#define N 10using namespace std;int main(){ int arr[N]; for(int i = 0; i < N; i++)//输入10个整数,假设数据都小于1e4 cin>>arr[i]; int min = 1e4; .原创 2021-11-17 21:35:25 · 1314 阅读 · 0 评论 -
C++ 输入一行字符串,将字符串中最长的单词输出
假设英文句子中只有 “ ”“,”“.”三种标点符号。#include <iostream>#include <cstring>using namespace std;//查找字符串中最长的一个单词void FindLongestWord(string &s){ int maxLength = -1;//保存最长字符串的长度 int cnt = 0;//保存word字符串的游标 char word[101],longest[101];/原创 2021-11-15 21:28:22 · 4340 阅读 · 3 评论 -
C++将二维数组转置
第一种:N*N列矩阵#include <iostream>#define N 3using namespace std;void ReverseArray(int a[N][N]){//数组转置 int t; for(int i = 0; i < N; i++){ for(int j = i; j < N; j++){ if(i != j){//主对角线上的数组转之后为本身,所以进行交换原创 2021-11-13 21:57:19 · 5873 阅读 · 0 评论 -
C++求最大公约数和最小公倍数
·辗转相除法求最大公约数·两个数的乘积除最大公约数为最小公倍数#include <iostream>using namespace std;int gcd(int a,int b){//辗转相除法求最大公约数 if(a < b){ int t=b;b=a;a=t; } int c=a%b; while(c){ a = b; b = c; c = a%b; } retur原创 2021-11-13 21:32:56 · 653 阅读 · 0 评论 -
C++寻找二维数组的鞍点
寻找二维数组的鞍点,该点为该行最大值该列的最小值。#include <iostream>#define N 4using namespace std;//寻找二维数组的鞍点,该行最大、该列最小int main() { //可修改数组手动输入 int a[N][N] = {{1,4,2,3}, {1,3,1,1}, {2,5,7,1}, {1,6,2,原创 2021-11-12 21:33:57 · 2943 阅读 · 0 评论 -
C++选择排序笔记
C++ 选择排序笔记#include <iostream>#define N 8using namespace std;void temp(int &a,int &b){ int t=b;b=a;a=t;}//选择排序法int main() { int a[10] = {49,38,65,97,76,13,27,49}; for(int i = 0; i < N - 1; i++){ int index =原创 2021-11-11 20:59:52 · 253 阅读 · 0 评论 -
带有头结点head的非空链表,寻找中间接点
嘿#include <iostream>using namespace std;typedef struct student{ int data; struct student* next;}Student;int main() { Student *head = (Student *)malloc(sizeof(Student)); Student *p=head,*q; //输出 0 1 ... 10 for(int i原创 2021-10-23 22:03:15 · 93 阅读 · 0 评论 -
给定一个字符数组s内存在一些字符。从字符数组s中删除存在c中相同的字符
第一眼看到题目发现有点歧义,我理解的是字符串匹配,还有一种理解是只要在c中出现的字符,都在s中删掉,这里暂时只写了第一种情况。#include <iostream>#include <string.h>using namespace std;int main() { char s[100] = "abcdefghijkl"; char c[100] = "cde"; int lenc = strlen(c); int lens = st.原创 2021-10-22 20:57:25 · 819 阅读 · 0 评论 -
只包含字符(),[],{}的字符string,判断是否有效
#include <iostream>#include <string.h>#include <stack>using namespace std;bool isValid(string str){ stack<char> S; //判断左右括号是否匹配,利用栈的先进先出特点实现 for(int i=0;i<str.length();i++){ if(str[i] == '(' || str[i] ==原创 2021-10-20 21:58:35 · 302 阅读 · 0 评论 -
2021-10-18
笔记,C语言 插入排序void insertSort(Sqlist &L){ for(int i=2; i<= n; i++){ if(L[i] < L[i-1]){ L[0] = L[i]; //哨兵 for(int j=i-1;L[j]>L[0]&&j>0;j--){原创 2021-10-18 20:51:40 · 121 阅读 · 0 评论