- 博客(3)
- 收藏
- 关注
原创 【填空题】无计算器巧算2的平方根
double n = 2; double a = 0; double b = n; while(fabs(a-b)>1E-15) { a = (a+b)/2; b = n / a; } printf("%f\n", a); 注意点:如果没有计算器,我们如何求2的平方根? 可以先猜测一个数,比如1.5,然后用2除以这个数字。如果我们猜对了,则除法的结果必然与我们猜测的数字相同
2016-12-31 17:43:46 525
原创 【填空题】十进制数的因式分解
void f(int n) { for(int i=2; i<n/2; i++) { while(n%i==0) { printf("%d ", i); n = n / i; } } if(n>1) printf("%d\n", n); } 注意点:在第五行的空下面为代码段,说明至少是循环或者条件语句 很容易想到取余的方法:n%i==0,但是尝试带入if
2016-12-31 17:27:32 316
原创 【填空题】二进制串转十进制整数
char* p = "1100"; int n = 0; for(int i=0;i<strlen(p); i++) { n = n * 2 + (p[i] - '0'); } printf("%d\n", n); return 0; 注意点:p[i] 可以写为 *(p+i),'0' 可以写为 48,注意二进制的ASCII码制和十进制的关系 我们设断点单步调试发现的规律如
2016-12-31 16:59:20 488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人