阶乘、斐波那契、 1的个数统计 c语言 实现备忘
来源:互联网 发布:上海威纳贸易数据 编辑:程序博客网 时间:2024/06/06 07:22
编辑时间: 2015.8.20.16.40
注意: 目的只为 备忘。
一、阶乘
注: long 只能实现到15!, long long只能实现到20!,更大后续需用数组实现。
long long digui(int n){if (1 >= n)return 1;elsereturn n*digui(n-1);}long long no_digui(int n){int i = 0;long long s = 1;for(i = 1; i <= n; i++)s=s*i;return s;}
二、 斐波那契
编辑时间:2015.8.22.11.00
注:1,1,2,3,5,8,13...... 形式的 数列。
int digui(int n){if (2 >= n)return 1;return digui(n-1)+digui(n-2);}int no_digui(int n){int old1 = 1, old2 = 1, s = 0, i = 0;if (2 >= n)return 1;for(i = 3; i <= n; i++ ){s = old1 + old2; //其实还是 递归的原理, 列几个数, 分析一下, 就可以写出old1 = old2; // old1是左边第一个,相当于n-2;old2左边第二个,相当于n-1。old2 = s; }return s;}
三、 1的个数统计
编辑时间:2015.8.27.9.30
注意:
1、只统计unsigned 型的;
2、unsigned 型的 移位 都是 逻辑移位(补0);
3、signed 型的移位左移(符号位 被干掉右边补0), 但右移要因编译器的不同而 结果不同(补0或者补符号位)。
unsigned int normal_count(unsigned int n){unsigned int count = 0; //最寻常用法,不解释while(0 < n){if (n & 1) count++;n>>=1;}return count;}unsigned int fast_count(unsigned int n) // 每次 消去 最右边的 1{unsigned int count;for(count = 0; n ; count++)n&=(n-1);return count;}unsigned int good_idea_count(unsigned int n) // 比较 巧妙,但效率不一定高, 分析见下{n = (n & 0x55555555) + ((n>>1) & 0x55555555); // 相邻位 相加n = (n & 0x33333333) + ((n>>2) & 0x33333333); // 相邻两位 相加 n = (n & 0x0f0f0f0f) + ((n>>4) & 0x0f0f0f0f); // 相邻四位 相加n = (n & 0x00ff00ff) + ((n>>8) & 0x00ff00ff); // 相邻八位 相加 n = (n & 0x0000ffff) + ((n>>16) & 0x0000ffff); // 相邻16位 相加 // 但似乎默认了是32位,不知是否是诟病所在 return n;}
0 0
- 阶乘、斐波那契、 1的个数统计 c语言 实现备忘
- C语言使用非递归和递归函数分别实现阶乘,斐波那契,最大公约数
- C语言斐波那契数列的多种实现
- 统计文件中每个单词的个数--C语言实现
- C语言实现统计字符个数
- C语言实现统计字符个数
- 求一个阶乘尾数0的个数(C语言实现)
- C语言 统计整数二进制表示中1的个数
- c语言 统计整数二进制表示中1的个数
- C语言 统计整数二进制表示中1的个数
- 【c语言】统计一个数二进制中的1的个数
- 【C语言】统计一个数二进制中1的个数
- C语言统计源文件关键字的个数
- C语言统计输入的单词个数
- C语言:统计各种字符的个数
- 打印斐波那契数列的前三十个数中所有的质数,并统计个数。
- 第五周-C语言 输出斐波那契数列前n个数
- C语言 程序 阶乘尾数零的个数
- C++学习笔记(二)C风格字符串和string类区别和联系
- js中(function(){…})()立即执行函数写法理解
- CC2541 Timer1 不能正常分频产生正确的 PWM
- httpclient 无信任证书使用https
- HDU 2504 又见GCD
- 阶乘、斐波那契、 1的个数统计 c语言 实现备忘
- IOS-微信支付
- oracle常见报错总结
- iOS在进行网络请求的时候的网络状态的响应的判断
- HDU 1029.Ignatius and the Princess IV【数据弱鸡】【咦,水题!】【8月20】
- ajax的原创
- C结构体里的成员数组和指针(特别是零长数组说明)
- 如何安装vmtools工具
- Block这个诡异的大圣