2020-12-06

总结一下这一周的学习情况

2020.11.28-12.5 一周时间好快啊~~~~


1.洛谷上的回文质数那题我的笨拙程序超时了,经过震神的指点我了解学习了一下质数筛。学了两个比较巧妙的做法。第一种好像叫做“埃拉托斯特尼筛法”,比较好理解,先将0,1,标记为非素数,2标记为素数,把其他数初始化全为素数,从2开始,2的倍数全部是非素数,全部划去,再到3,把3的倍数全部划去,4已经被划去了,再到5....然后一直到sqrt(n)
(但是这个方法还是有缺点,比如15这个数,当循环到3的时候15作为3的倍数被划去了一遍,当循环到5的时候又被划去了一遍,就做了一些无用功)第二种比较巧妙,加入了一个“ 从 j=i*i 开始,到 j=L 结束,每次 j 加 2*i 让A[j]=0”,先把偶数的i先划去,让i从奇数开始,奇数个奇数相加还是奇数所有让j每次加上2*i,这样又可以把一批非素数划去了~~
2.最近洛谷的题目有好多需要重复使用某段程序,比如判断一个数的每个数字出现的次数,单词中每个字母出现的次数,句子中单词出现的次数....
然后就会选择自己定义一个函数来做,也加深了对函数的理解和使用。
4.感觉字符串数组在这周出现的频率实在是太高了,而且使用范围也很广泛,通过那些题目,有关字符数组的一些函数使用也熟练了不少。
5.还学了比较有用的东西就是连续的输入问题,还是很实用的。总结一下这三种方式,其实根据每个题目还有其他巧妙的方法。

```c
while(~scanf("%d %d",&a,&b))//~取反,-1的的十六进制补码取反后全是0,while结束
while(scanf("%x%x", &a, &b)!=EOF)//EOF即-1,同上
while(scanf("%d %d",&m,&n)==2)//连续输入了无数个正确的俩个数


6.这周五好像没有学习,周六赶了一下c语言的进度,因为自己结构体还没学所以学了一下结构体类型,结构体数组,结构体函数,枚举类型,typedef语句`,打算接下来学指针数组,指针与结构体,指针与函数,指针与链表。冲冲冲,加快进度!

你可能感兴趣的:(笔记,c语言)