10 2023 档案
摘要:高精度(加减乘除) 高精度的核心思想就是利用数组去储存大数,然后通过模拟手动计算的方式,来进行计算。 主要分三个模块: 1.读入数据并转换为(int)类型储存 高精度加法 核心思想:将每个位上的数字都+起来,如果大于10就进位。 核心代码如下: c[i]+=a[i]+b[i];//两数相加 c[i+
阅读全文
摘要:int main() { int n,k; scanf("%d %d", &n, &k); vector<int> s(n); for (auto& n : s) { scanf("%d", &n); } nth_element(s.begin(), s.begin() + k, s.begin()
阅读全文
摘要:使用案例 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstring> #include <stdlib.h> #include <stdio.h> #include <math.h> #include <iomanip
阅读全文
摘要:比赛:Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) A-same 1.常规方法 int main() { int n; cin >> n; vector<int> s(n)
阅读全文
摘要:string类构造函数与析构函数 构造函数 构造函数 作用 string s 构造一个空字符串 string s(s1) 生成一个和s1相同的空字符串s string s(s1,5) 将s1[5]以后的部分作为s的初始部分 string s(s1,5,5) 将始于s1[5],长度为5的部分作为s的初
阅读全文
摘要:向量vector 1.几种向量的定义方式 (1) vector<int> vec 创建一个类型为int的空vector (2) vector<int> vec(vec2) 复制创建一个和vec2数据完全相同的vec (3) vector<int> vec = vec2; (4) vector<int
阅读全文
摘要:队列queue(包含头文件queue) 首先说说什么是queue,queue就像是一根管子,数据可以从管子尾部进入,然后从头部出来,不能倒车从尾部出来,并且数据只能从尾部进入,不能从头部进入 1.队列的定义 queue<队列内输入的数据类型,队列的容器类型> 变量名; queue<int> s;//
阅读全文
摘要:栈stack(包含头文件stack) 首先说说什么是栈,栈就像是一个罐子,然后你的数据就是零食,你把零食放入罐子里,那么零食肯定先放入罐子底部,然后后面的零食再放入第二层。那么取零食的时候类似,必须先把上面的零食先拿出来,才能拿出来下面的零食。 栈的准确定义:栈(Stack)是只允许在一端进行插入或
阅读全文
摘要:for遍历 一:常规方式 1.遍历数组 int arr[10] = {1,2,3,4,5,6,7,8,9,10}; for(int i = 0;i<10;i++) { cout<<arr[i]; } 3.遍历容器类(迭代器) vector<int> s = {0,1,2,3,4,5,6,7,8,9}
阅读全文
摘要:C++四舍五入 1.利用C++输出函数 cout<<setprecision(4)<<1.94999<<endl; 只使用setprecision:控制浮点数的输出位数,注意控制的是总输出的数字个数,不是小数点后,并且将默认将小数后面的末尾0省略,并且将四舍五入 cout<<fixed<<setpr
阅读全文
摘要:math库常用函数+产生随机数总结 1.对x开平方 double sqrt(x);//返回值为double类型,输入的x类型随意,只要是数的类型 2.求常数e的x次方 double exp(x);//返回值为double类型,输入的x类型随意,只要是数的类型 3.求x的y次方 double pow(
阅读全文
摘要:递归函数 含义介绍: 递归函数,实际上就是将一个自定义的函数在运行过程中反复调用他自己,直到遇到结束条件就停止 案例一:求阶乘 int len(int n) { if(n == 1) { return 1;//如果阶乘运算到最后一位(即1),就结束循环 } int sum = n*len(n-1);
阅读全文