2的n次方计算_牛客题霸_牛客网 (nowcoder.com)
关于这道题最直接的想法便是直接求2的n次方,该如何实现呢?
第一种方法:这里我们便需要了解#include<math.h>库函数中的一个函数pow(x,y),他的意思便是x的y次方知道了这个这道题是不是就很简单了。
(一定要引头文件)#include<math.h>
像这样我们便可以快速的出2的n次方的答案,例如当n=10时
第二中方法利用内存中存储的数字为2进制解题
先为大家解答一下EOF
EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。
当我们转到定义是会发现EOF其实就是被定义为-1。
直面地说EOF在scanf连用时代表-1的意思,当用到while(scanf()!=EOF),代表的意思是一直输入,直到scanf返回的值是-1时才会停止输入。
我们来解释这个程序的原理:
首先我们知道正数的原码反码补码都相同,所以1在内存中存放的是:00000000000000000000000000000001
给1使用<<(左移操作符)即变成了:
00000000000000000000010000000000
这是我们再算做以后的数1*2^10=1024
相同的原理给a赋值便会左移几位,再利用2进制的算法来求出相对应的数字。
在这里如果使用的是vs2019则可以使用ctrl+c来结束循环。
第三种当然怎末能少了递归呢
那么这道题就到这里吧。
KiKi和酸奶_牛客题霸_牛客网 (nowcoder.com)
相信大家这道题都难不住大家,但要注意一点打开没喝完可不能算到未打开的酸奶盒数里。(小学被支配的恐惧)
浮点数的个位数字_牛客题霸_牛客网 (nowcoder.com)
这里为大家带来另一种方法求浮点数的个位数字
我们可以采用数组的形式来找到小数点,进而求得浮点数的个位数字
运行结果如图
其中需要注意的是(我们可以直接利用指针找到小数点的位置)
那末这次的分享就到这里了。
大家都很棒。