博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法竞赛入门经典 2.2 循环结构程序设计
阅读量:4499 次
发布时间:2019-06-08

本文共 1089 字,大约阅读时间需要 3 分钟。

//例题2-2 3n+1问题 //猜想:对于任意大于1的自然数n,若n为奇数,则将n变成3n+1,否则变成一半 //经过若干次这样的变换,一定会使n变成1.例如3->10->5->16->8->4->2->1 //输入n,输出变换的次数。n≤10^9. //样例输入:3 //样例输出:7 #include<iostream> using namespace std; int main() { int n,count=0; //初始count=0 cin>>n; while(n>1) { if(n%2==1) n=n*3+1; else n/=2; count++; //计数器 cout<<n<<endl; //输出中间结果 } cout<<count<<endl; return 0; } //例题2-3 阶乘之和 //输入n,计算S=1!+2!+3!+……+n!的末6位(不含前导0),n≤10^6 //程序2-5 阶乘之和 #include<iostream> using namespace std; int main() { int i,j,n,S=0; cin>>n; for(i=1;i<=n;i++) { int factorial=1; for(j=1;j<=i;j++) factorial*=j; S+=factorial; //cout<<S<<endl; } cout<<S%1000000<<endl; return 0; } //程序2-6 阶乘之和(2) #include<iostream> #include<iomanip> #include<ctime> using namespace std; int main() { const int MOD=1000000; int i,j,n,S=0; cin>>n; for(i=1;i<=n;i++) { int factorial=1; for(j=1;j<=i;j++) factorial=(factorial*j % MOD); S=(S+factorial)%MOD; } cout<<S<<endl; cout<<"Time used=" <<setiosflags(ios::fixed)<<setprecision(2) <<(double)clock()/CLOCKS_PER_SEC<<endl; return 0; }

转载于:https://www.cnblogs.com/springside5/archive/2012/03/25/2486279.html

你可能感兴趣的文章
PXE远程自动安装操作系统
查看>>
java开发知识IO知识之输入输出流以及文件
查看>>
作业4: 用户体验分析——以 “师路南通网站” 为例
查看>>
SurfaceViewVideoList网络获取视频播放
查看>>
Splash Screen开场屏在Android中的实现
查看>>
Oracle 笔记(二)
查看>>
微信公众号开发--访问网络用到的工具类
查看>>
wpf中利用多重绑定实现表中数据越界自动报警
查看>>
为Linux配置常用源:epel和IUS
查看>>
天府地
查看>>
C#高级编程
查看>>
JS实现从照片中裁切自已的肖像
查看>>
使用 https://git.io 缩短 a GitHub.com URL.
查看>>
拷贝、浅拷贝、深拷贝解答
查看>>
NS3 实验脚本的编写步骤
查看>>
四元数
查看>>
【Linux】Linux查看程序端口占用情况
查看>>
微软职位内部推荐-Software Development Engineer
查看>>
Git常用命令
查看>>
VC 菜单OnUPdate事件
查看>>