知识整理
一些不熟悉的知识点
sherry味
Keep Thinking, Keep Coding, Keep Learning!
Always Challenge Miracle.
展开
-
c++中atoi用法
最近补题时学了一种把字符串类型转换成数字型的方法,记录一下。atoi (表示 ascii to integer):是把字符串转换成整型数的一个函数.。说明:1.int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。2.如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 [1]。3.特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关原创 2020-11-11 17:24:04 · 5194 阅读 · 0 评论 -
费马小定理
1.定义费马小定理是数论中的一个定理。其内容为假如a是一个整数,p是一个质数的话,那么:a^p = a(mod p)假如a不是p的倍数的话,那么这个定理也可以写成:a^(p − 1) = 1(mod p)这个书写方式更加常用些。 2.费马小定理的证明 任意取一个质数,比如13。考虑从1到12的一系列整数1,2,3,4,5,6,7,8,9,10,11,12,给这些数都乘上一个与1...原创 2020-02-05 21:38:00 · 1682 阅读 · 5 评论 -
大数取余算法
当一个数很大时,大到long long int类型都存放不了的时候,我们该怎么办呢?首先我们举个简单的例子来了解该算法的思想:假设有一个数443,我们要求443%3,不妨拿起笔和纸和我一起演算一下我们看到计算过程是:第一位数字4:4%3=14%3=1第二位数字4:(1×10+4)%3=2(1×10+4)%3=2第三位数字3:(2×10+3)%3=2(2×10+3)%3=2最终的结果是...转载 2020-02-05 17:52:26 · 2683 阅读 · 0 评论 -
c++中getline用法
1.具体用法:getline(cin,inputline)//cin是正在读取的输入流,而inputline是接收输入字符串的string变量的名称2.注意事项1)如果在使用getline()之前有使用scanf(),那么需要用getchar()将前面的换行符读取,再使用getline()2)getline()这个函数是可以读取空格,遇到换行符或者EOF结束,但是不读取换行符的3)当我...原创 2020-02-05 17:35:31 · 6284 阅读 · 0 评论 -
循环的整理
for(i=1;i<=m;i++)跳出该循环时,i=m+1,而非m;有的题因为位置经常错;这个错误多次发生,没有对C语言循环的过程加深理解;2n=2while(n–){循环体;}第一次带入时n=n-1(n–):n=2(先赋值,再减一)这个也是误区,经常犯错误;...原创 2019-07-26 20:11:22 · 111 阅读 · 0 评论 -
i++与++i的区别
i++与++i的区别1.说明i++是先赋值,然后再自增;++i是先自增,后赋值。用代码表示就是:若 a = i++; 则等价于 a=i;i=i+1;而 a = ++i; 则等价于 i=i+1;a=i;理解:形象的理解可以是***i++先做别的事,再自己加1,++i先自己加1,再做别的事情。***3.解释:++i的返回值是i+1,并且i=i+1;i++的返回值是i,并且i=...原创 2019-07-24 11:38:35 · 206 阅读 · 0 评论 -
求素数的方法(不熟悉)
质数是数学重要的一环,所谓质数,就是除了1和它本身外不存在任何因子的数。以下整理了一下c语言中质数的求法。问题:输入一个正整数n(n>=2),求不大于n的全部质数方法一:循环法思路:判断一个数n是不是质数,可以用2到√n之间的所有整数去除n,如果都不能整除,那么n是质数。设计循环嵌套时尽量跳过一些不必要的情况。1."2"为必输出的质数,可以单独输出。这样循环可从3到√n判断。2.为...原创 2019-11-10 15:26:15 · 343 阅读 · 0 评论 -
顺序表应用4:元素位置互换之逆置算法
数据结构实验一:顺序表应用4:元素位置互换之逆置算法Time Limit: 10 ms Memory Limit: 570 KiBSubmit StatisticProblem Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计...原创 2019-07-23 21:19:21 · 272 阅读 · 0 评论 -
二分法
数据结构顺序表应用6:有序顺序表查询Time Limit: 1000 ms Memory Limit: 4096 KiBSubmit StatisticProblem Description顺序表内按照由小到大的次序存放着n个互不相同的整数,任意输入一个整数,判断该整数在顺序表中是否存在。如果在顺序表中存在该整数,输出其在表中的序号;否则输出“No Found!"。Input第一行输...原创 2019-07-23 19:41:57 · 596 阅读 · 0 评论 -
冒泡排序法的改进
1)冒泡法思想:将相邻两个数比较,将小的调到前头。排序过程:( n=10 )(1) 比较第一个数与第二个数,若为逆序即a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序。—结果:最大数放在最后1个位置–a[n-1]。(2) 对前n-1个数进行第二趟冒泡排序:若为逆序即a[0]>a[1],则交换;然后比较第二个数...原创 2019-08-11 21:29:18 · 1708 阅读 · 0 评论 -
选择排法的改进
1选择排序法1 ) n个数的选择法排序是个两重循环外循环控制求最小值的次数––(n-1)次求最小值用n-1次外循环实现。----假设外循环变量为 i,则 i 的循环范围是0~n-2。内循环完成求一个最小值的过程:假设当前元素a[i]为最小值位置、假设内循环变量为 j,让a[i]与其后的所有元素a[j]逐个比较,j的范围是i+1~~n-1。 #include <stdio...原创 2019-08-11 21:22:42 · 166 阅读 · 0 评论 -
C语言中最常用标准库函数—(数学库函数重点)
1 数学函数(<math.h>)三角函数:sincostan反三角函数:asinacosatan双曲函数:sinhcoshtanh指数和对数函数:以e为底的指数函数exp自然对数函数log以10为底的对数函数log10其他函数:平方根sqrt绝对值fabs乘幂,第一个参数作为底,第二个是指数double pow(double, dou...原创 2019-08-10 15:37:17 · 13816 阅读 · 0 评论 -
ASCII码表总结
原因:暑假集训个人赛3做题时,遇到判断数字 ,字母, 特殊符号的题目,忘了数字的个数,忘了大小写字母的位置,有些磨时间,特来总结:表达方式:ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符 ...原创 2019-08-09 15:29:58 · 426 阅读 · 0 评论 -
记忆化碎片-(总结)
一关于getchar()的使用举例一:19年暑假集训组队赛二的H举例二:OJ动态规划的20801.用两个scanf读入:scanf("%s",a);scanf("%s",b)——这种错误!!!2****.用两个scanf读入和一个getchar()读入:scanf("%s",a);getchar();scanf("%s",b);****3.用两个gets()输入:gets(a);gets...转载 2019-08-18 19:48:29 · 113 阅读 · 0 评论 -
runtime error错误
runtime error (运行时错误)就是程序运行到一半,程序就崩溃了。比如说:①除以零 ②数组越界:int a[3]; a[10000000]=10; ③指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10; ④使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof...转载 2019-08-01 09:52:56 · 1951 阅读 · 0 评论 -
算法复杂度整理
算法复杂度整理1定义:算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源**。应用于数学和计算机导论。2简介:同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从***时间复杂度***和***空间复杂度***来考虑。3时间复杂度(1)时间频度:一个算法花费的时间与算法中语...转载 2019-07-22 14:57:29 · 421 阅读 · 0 评论