只记今朝kang.blog.chinaunix.net
kanghtta
全部博文(290)
dbg(1)
IDA(0)
OllyIce(0)
windbg(1)
系统引导(11)
驱动开发相关资料(0)
学习笔记(1)
WDK文档(1)
grub源代码(2)
Service(8)
CRT(4)
Visual C++(3)
汇编(1)
服务器(0)
JavaScript(0)
PHP(0)
CSS(0)
HTML(0)
新概念英语(0)
第四册(0)
第三册(0)
第二册(2)
第一册(0)
介词用法总结(1)
新视野大学英语(0)
网络流媒体协议标(0)
RFC文档(2)
Network Programm(6)
PackKer(1)
Sql和高级语言的(1)
SQl server 2000(0)
逆向C++(1)
算法与数据结构(4)
java 程序设计(1)
C++语言基础(17)
C++现代大学教程(3)
2013年(6)
2012年(15)
2011年(25)
2010年(86)
2009年(52)
2008年(66)
2007年(40)
lfatx
linuxDOS
zczkylb
曾德标
bhh3158
lrfgjj2
wb123456
cynthia
浪花小雨
lxzkenne
z_ming20
西湖看海
raochaox
mwjx
antipass
分类: C/C++
2010-11-17 18:53:02
#include <iostream> using namespace std; int get_n(int & n); int get_count(int n); const int MIN = 0; const int MAX = 1000000; int main(int argc ,char *argv[]) { int i, j; register int count = 1, temp = 0; cout<<"please input "<<endl; cin>>i>>j; if((i <= MIN) || ( i >MAX)) cout<<"integer i must ( 0 < i < 1000000)!"<<endl; if((j <= MIN) || ( j >MAX)) cout<<"integer j must ( 0 < j < 1000000)!"<<endl; if(i >j){ temp = j; j = i; i = temp; } int loop = i; while(loop < j) { int n = loop; int result = get_count(n); if(result > count) { temp = count; count = result; result = temp; } loop++; } cout<<i<<'\t'<<j<<'\t'<<count<<endl; return 0; } /** /fun int get_count(int n,int count); * /brief 给定一个n,返回该数的循环节长度 * /param int n * /return count */ int get_count(int n) { int count = 1; cout<<n<<','; do{ count++ ; get_n(n); if(n < 0) { break; } cout<<n<<','; }while(n!=1); cout<<endl; return count; } /** /fun get_n(int &n) * /brief 判度一个数是奇还是偶,如果是偶数则除2, * 如果是奇数,则*3 +1 * /param int &n 输入的正整数 * /return 计算结果 */ int get_n(int & n) { if(n%2 == 0) { n >>= 1; }else if(n%2 == 1){ n = n*3+1; }else { n = -1; } return n; }
上一篇:我所积累的20条编程经验
下一篇:Inside I/O Completion Ports
登录 注册