暑假学习部分总结

2021,7月20日 学习总结。
考试复习,突击了快两个星期,好歹是没挂科的,但比起上学期差远了。有很长时间没有打过比赛没做题了。最近这两天在看书,主要是复习一下大一学过的基础知识.做一些水题,过几天再做做题。
前面主要是一些比较生疏或者是难以理解的知识点,后面有题,难度不高但是值得学习的例题。
一,难点或者是易很混淆。
1,叙拉古国王二世海伦发现的公式,海伦公式。
s
s=p*(p-a)(p-b)(p-c).
其中p=(a+b+c)/2.
2,注意exit()需要调用头文件
freopen()需要调用
3,if else 以后直接用三目运算符?:感觉会更快一点。
4,switch (M)括号中的M如果不是整数,系统会自己省略掉其小数部分。
5,switch()
{case 常量表达式}
系统会依次计算出常量表达式的值,相同的,如果不是整数,会转换为整数。
6,求解1-n内的奇数,偶数各自想加,for(i=1,j=2;j<=100;i+=2,j+=2)别再用两个循环,或者是每次加一,效率很慢。
7,long long 范围-10e19—10-e19而int -210e9—210e9.
8,在使用__gcd()是记得加头文件,地下有两种代码求解最大公约数
9,scanf()返回的值是,成功输入的个数,scanf("%d%d",&a,&b)如果输入了两个数,返回值就是二。
10,clock()获得的是程序的运行时间。clock()/CLOCK_PER_SEC可以得到的值以秒为单位。
11,数组元素复制函数,memcpy(b,a,sizeof(int)*k)将a数组中的k个元素赋值给b。注意,要用到

*二,比较巧妙,值得学习的例题。
1,题目,班费有x元,有三种笔,价格依次为4,5,6元。小明想要买尽可能多的笔,而且将剩余的钱尽可能少。要求输出三笔的个数。
理解,在购买笔最多时候,使剩余的钱最少。

解决,先买4元的之后分为4中情况,第一种剩零元。第二种剩一元,可以减少一只四元的,买一只五元的。第三种剩下两元,减少一只4元的,买一只6元的。第四种,剩下三元,这时候是减少一只四元不能解决的,可以减少两只四元的,然后买一只5元和一只6元的。

总结,难点在于减少了两只四元的,使之可以购买一只6元和一只5笔。这样一看就会发现,无论剩多少元,最后买完笔的数量都是4的倍数。当减少一只不行时可以考虑两只,甚至是三只,四只。

2,两种求解最大共约数的方法。
第一种从二者中找较小一个然后进行减一,当二者取余它都是零的时候结束。
第二种方法,辗转相除法,也叫欧几里德算法。
int r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}

3,操场上有一群人,如果两个一组,多出来一个人,三个一组多一人,七个一组正好。问有多少人。
解决,因为是七个一组,所以直接就将i变量开始为7,后来每次加7即可。

4,求解1!+2!+3!+4!+…n!注意!!!!阶乘英文为factorial。
第一种也是最慢的做法. 二重循环,第一重循环i1记录位置,第二重循环从2乘到i1。
第二种做法,
for(i1=1;i1<=n;i1++)
{
i2=i2*i1;
s+=i2;
}
因为每次都算出来前i1-1的阶乘了。
只用了一重循环。

5,求解1992个1992相乘的最后两位数。
while(i1<=1992)
{
i1++;
a=(a*92)%100
}
只需要乘92即可,因为乘1992前面的两位数字,不会影响到最后的两位。而且每次都取余了100保证只剩下两位,因为前面的数对最后两位没有影响,这样保证了大大减少计算时间。

6,百鸡百钱问题,题意,公鸡一只三元,母鸡一只5元,小鸡一只6元,问一百元能有几种购买方案使的鸡的个数为100并且是的不剩下钱。
这题没有必要去写三重循环,只用二重循环,将第三个变量转为为100-i1-i2即可。

7,水仙花数问题。
没有必要从100到999把每一位数算出之后再三次方。只需要构建一个三重循环,然后分别代表百十个即可。

真的很不想写关于输入输出的,尤其是gechar,scanf,getline之类的,每次都感觉很麻烦😭😵。等以后暑假快结束的时候写吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值