当前位置: 首页 > news >正文

广西网站建设代理加盟华为品牌策划方案

广西网站建设代理加盟,华为品牌策划方案,社群营销成功案例,wordpress 归档 如何使用文章目录 前言一、循环综合举例1. 质数判断问题2. 百人百砖问题3. 猴子吃桃问题4. 质因数分解问题5. 数字统计问题。 二、课后练习2. 末尾3位数问题3. 求自然常数e4. 数据统计问题5. 买苹果问题。6. 找5的倍数问题。 总结 前言 本课使用循环结构#xff0c;介绍了以下问题的解… 文章目录 前言一、循环综合举例1. 质数判断问题2. 百人百砖问题3. 猴子吃桃问题4. 质因数分解问题5. 数字统计问题。 二、课后练习2. 末尾3位数问题3. 求自然常数e4. 数据统计问题5. 买苹果问题。6. 找5的倍数问题。 总结 前言 本课使用循环结构介绍了以下问题的解决方法。 质数判断问题百人百砖问题猴子吃桃问题质因数分解问题数字统计问题 一、循环综合举例 1. 质数判断问题 编程输出100至200之间的所有质数。 #include iostream #include cmath using namespace std;int main() {bool flag;for(int i100; i200; i) {flagtrue;for(int j2; jsqrt(i); j) {if(i%j0) {flagfalse;break;}}if(flag) cout i \t;}cout endl;return 0; } 2. 百人百砖问题 100块砖100个人搬。男人每次搬砖4块女人每次搬砖3块2个小寒搬砖1块.若要一次性搬完问男人、女人、小孩各要安排多少人 #include iostream using namespace std;int main() {int men, women, children, flag;for(int men0; men25; men) {for(int women0; women33; women) {children100-men-women;if(children%20 4*men3*womenchildren/2 100)cout men \t women \t children endl;}}return 0; } 运行程序输出 0 20 80 5 13 82 10 6 84可以与下面的程序比较以下看孰的运行效率更高。 #include iostream using namespace std;int main() {int men, women, children, flag;for(int men0; men25; men) {for(int women0; women33; women) {for(int children0; children100; children) {if(children%20 menwomenchildren100 4*men3*womenchildren/2 100)cout men \t women \t children endl;}}}return 0; } 运行程序t同样输出如下 0 20 80 5 13 82 10 6 843. 猴子吃桃问题 猴子摘了一堆桃当天吃掉一半觉得不过瘾又多吃了一个单二天它吃了剩下的桃子的一半又多一个以后每天都这样吃下去直到第10天要吃时它发现只剩下一个桃子了。问猴子第一天共摘下了多少个桃子 #includeiostream using namespace std; int main() {int rest 1;//第10天只剩一个桃子for(int day 9; day 0; day--) {rest (rest 1) * 2;//每天的桃子总数是后一天剩余桃子加1乘2}cout The number of peaches on the first day is: rest endl;return 0; }运行程序输出结果为 1534 用while循环实现应该代码更好理解一些些。 #includeiostream using namespace std; int main() {int rest 1;//第10天只剩一个桃子int day 9;while(day--) {rest (rest 1) * 2;//每天的桃子总数是后一天剩余桃子加1乘2}cout The number of peaches on the first day is: rest endl; //1534return 0; }当然最好写成下面这样子代码更便于阅读理解。 #includeiostream using namespace std; int main() {int rest 1;//第10天只剩一个桃子int day 9;while(day) {rest (rest 1) * 2;//每天的桃子总数是后一天剩余桃子加1乘2day--;}cout The number of peaches on the first day is: rest endl; //1534return 0;如果改成“直到第8天要吃时它发现只剩下一个桃子了”则 #includeiostream using namespace std; int main() {int rest 1;//第8天只剩一个桃子cout 8 \t 1 endl;int day 7;while(day) {rest (rest 1) * 2;//每天的桃子总数是后一天剩余桃子加1乘2cout day \t rest endl;day--;}cout The number of peaches on the first day is: rest endl;return 0; }运行代码输出如下 8 1 7 4 6 10 5 22 4 46 3 94 2 190 1 382 The number of peaches on the first day is: 382前面我们做过一个类似的练习如下。 水果店新进了一批桃子共计1020个。第一天卖了一半多两个以后每天卖了剩下的一半多两个问几天以后能卖完这些桃子 #includeiostream using namespace std;int main() {int peaches1020;int days0;while(peaches!0) {peaches peaches/2 - 2;days;cout days : peaches endl;}cout Total days: days endl;return 0; } 4. 质因数分解问题 已知正整数n是两个不同的质数的乘积试求出较大的那个质数。 【数学分析】 这个题具有很大的欺骗性由于题目名为质因数分解可能会让你马上想到判断质数。但在问题描述中已经确定 n 是两个不同质数的乘积实际上不需要判断质数。按顺序求两个乘数则后一个乘数一定大于或等于前一个乘数。因此这个题目就变成一个整数可以拆成两个数相乘输出第二个乘数。 #include iostream using namespace std;int main() {int n;cin n;for(int i2; in/2; i) {if(n%i0) {cout n/i endl;break;}}return 0; } 本题依照上述代码实际上应该写成“已知正整数n是两个不同的因数的乘积试求出较大的那个因数。” 本题很容易让人联想到关于偶数的哥德巴赫猜想即任一大于2的偶数都可写成两个素数之和。读者可以尝试编程验证之。 5. 数字统计问题。 请统计某个给定范围l, r的所有整数中数字2出现的次数。比如给定范围2, 22]数字2在数2中出现了1次在数12中出现1次在数20中出现1次在数21中出现1次在数22中出现2次所以数字2在该范围内一共出现了6次。 输入一行为两个正整数 l 和 r ,(0≤lr≤1000)两个整数之间用一个空格隔开。输出一行表示数字2出现的次数。 样例输入 2 22 样例输出 6 #include iostream using namespace std;int main() {int left, right, temp, count0;cin left right;for(int ileft; iright; i) {temp i;while(temp) {if(temp%102) {count;}temp / 10;}}cout count endl;return 0; } 二、课后练习 2. 末尾3位数问题 编写程序计算 9 9 99 99^{99} 9999结果的末尾3位数字。 【分析】本题可以参见第10课中介绍的“幂运算的尾数问题”实例——即幂运算 a b a^b ab的末尾3位数字是多少。 #include iostream using namespace std;int main() {int a99, b99;int tail1;for(int i1; ib; i) {tail (tail*a)%1000;}if(tail100) cout tail endl;else if(tail10) cout 0 tail endl;else cout 00 tail endl;return 0; } 运行程序输出 899 3. 求自然常数e 已知自然常数e计算公式如下 e 1 1 1 ! 1 2 ! 1 3 ! . . . e1\frac{1}{1!}\frac{1}{2!}\frac{1}{3!}... e11!1​2!1​3!1​... 编程计算e的近似值精度要求为 1 0 − 6 10^{-6} 10−6。 Python实现代码如下。 # e 1 1/1! 1/2! 1/3! ... 1/n! import mathe 1.0 eps 0.1e-7 termN 1 factorial 1while math.fabs(1/factorial) eps:e 1/factorialprint(termN {}\t e {:.10f}.format(termN, e))termN 1factorial * termNprint(Approximate of e is %.8f % e)C实现代码如下。 #include iostream #include iomanip using namespace std;//# e 1 1/1! 1/2! 1/3! ... 1/n! int main() {double e 1.0;double eps 0.1e-7;int termN 1;long long factorial 1;while(1.0/factorialeps) {e 1.0/factorial;cout termN \t fixed setprecision(8) e endl;termN 1;factorial * termN;}cout Approximate of e is e endl;return 0; } 运行程序输入如下 1 2.00000000 2 2.50000000 3 2.66666667 4 2.70833333 5 2.71666667 6 2.71805556 7 2.71825397 8 2.71827877 9 2.71828153 10 2.71828180 11 2.71828183 Approximate of e is 2.71828183注意代码中的表达式1.0/factorial不能写成1/factorial。 4. 数据统计问题 输入一些正整数保证这些数都是不超过1000的整数输入大于等于1000的时结束程序)求出它们的最小值、最大值和平均值。 输入若干个正整数空格分隔以1000为结束。 输出三部分内容即最小值、最大值和平均值。 样例输入 2 8 3 5 1 7 3 6 1000 样例输出 min 1, max 8, average 4.375 #include iostream using namespace std;//输入一些正整数保证这些数都是不超过1000的整数 //输入大于等于1000的时结束程序)求出它们的最小值、最大值和平均值。 int main() {int n, min1000, max0, count0, sum0;while(cinn) {if(n1000) break;if(nmin) minn;if(nmax) maxn;sum n;count;}cout min min;cout , max max;cout , average (sum*1.0/count);return 0; } 运行程序某次输入输出如下 2 8 3 5 1 7 3 6 1000 min1, max8, average4.3755. 买苹果问题。 最近水果店新购入一批苹果每个苹果0.8元。卡路第一天买2个苹果从第二天开始每天买前一天的2倍直到当天购买的苹果个数达到且不超过50个请级写程序求每天平均花多少钱买苹果 #include iostream using namespace std;//最近水果店新购入一批苹果每个苹果0.8元。卡路第一天买2个苹果 //从第二天开始每天买前一天的2倍直到当天购买的苹果个数达到且不超过50个 //请级写程序求每天平均花多少钱买苹果 int main() {int n2, days0; //第一天买2个苹果float unit_price 0.8;float total_consume 0.0;while(n50) {days;total_consume unit_price*n;n * 2;}cout (total_consume/days) endl;return 0; } 运行程序输出 9.92 6. 找5的倍数问题。 从键盘输入 n 个整数 n ≤10)找到第一个能被5整除的数。如果找到了则输出此数结束输入如果没找到则输出未找到。 输入 n 个整数即待判断数据最多10个。 输出1个整数或未找到1个整数为输入中第一个能被5整除的数。 #include iostream using namespace std;//从键盘输入n个整数n10)找到第一个能被5整除的数。 //如果找到了则输出此数结束输入如果没找到则输出未找到。 int main() {int n, c0; //第一天买2个苹果while(cinn c10) {c;if(5n) {cout n endl;break;}}return 0; } 总结 借助于在循环体中适当地使用break语句和continue语句for循环、while循环和do-while循环其实是可以相互替换的。
http://www.w-s-a.com/news/430593/

相关文章:

  • 网站推广方式校园网站怎么建
  • 长沙seo网站排名怎么在百度发帖
  • 织梦贷款网站模板做印章网站
  • 彭州做网站上海百度网络推广
  • 广州网站搭建快速提升网站排名荧光字网站
  • 15年做那些网站能致富做seo是什么意思
  • 各电商网站的特点网站制作2007
  • 用html做一号店网站怎么做公众号注册平台官网
  • 做盈利网站怎么备案vs做网站如何调试
  • 嘉兴做营销型网站廊坊做网站外包
  • 双语网站模板常州做网站的公司
  • 广州市车管所网站建设全国做网站公司前十名
  • 太原手手工网站建设公司视频直播服务
  • 雷达图 做图网站wordpress首页怎么美化
  • 四川做网站设计公司价格vip解析网站怎么做的
  • 网站建设流程域名申请做化工的 有那些网站
  • 软件开发设计流程图seo搜索引擎官网
  • 外国小孩和大人做网站东富龙科技股份有限公司
  • 上线倒计时单页网站模板做网站的资金来源
  • 泸州市建设厅网站中小企业网络需求分析
  • asp网站版权做网页价格
  • 长春网站建设路关键词优化公司哪家好
  • 河南省建设银行网站年报天津设计师网站
  • 沙洋网站定制如果自己建立网站
  • 凡科网站怎么做建站关键字搜索网站怎么做
  • 小说网站建站程序企业邮箱地址
  • 福州市住房和城乡建设网站网站开发方案论文
  • 在线教育网站开发网站推广常用方法包括
  • 东莞高端品牌网站建设软件开发模型及特点
  • 个人网站的设计与实现的主要内容网站开发公司架构