摘要:
求400的阶乘C/C++ code#define N 400long a[8916]={1,0},n,i,c,len; int main(void) { n=N; for ( len=1;n>1; n--) { for (c=0,i=0; i<len;i++ ) { a[i]= ( c+= a[i]*n ) % 10000; c/=10000; } ((a[i]=c)>0)?len++:0; } for( len--,printf("%d",...
阅读全文
posted @ 2011-08-24 19:03
香格里拉\(^o^)/
阅读(3534)
推荐(0)
编辑
摘要:
这是一个很有意思的问题,也是在面试中最容易被问到的问题之一。这个问题有个正式的名字叫Hamming_weight,而且wikipedia上也提供了很好的位运算解决的方法,这个下面也会提到。解决这个问题的第一想法是一位一位的观察,判断是否为1,是则计数器加一,否则跳到下一位,于是很容易有这样的程序。?12345678910int test(int n) { int count=0; while(n != 0){ if(n%2 ==1) count++; n /= 2; } return count; }或者和其等价的位运算版本:?123456789int test(int n) { int co
阅读全文
posted @ 2011-08-24 18:40
香格里拉\(^o^)/
阅读(11454)
推荐(3)
编辑
摘要:
gcc和g++的区别 我们在编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确,如果再遇上个extern "C",分歧就更多了,这里我想作个了结,毕竟知识的目的是令人更清醒,而不是更糊涂。误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的,例如:#includ
阅读全文
posted @ 2011-08-24 18:39
香格里拉\(^o^)/
阅读(1013)
推荐(0)
编辑