第3章 编程问题 3.2节 2
来源:互联网 发布:linux jre6安装 编辑:程序博客网 时间:2024/06/09 17:34
题目描述:
有一天晚上,邮差Peter感到非常无聊,为了打破夜班的单调,他使用邮局中的一行邮箱进行了以下的实验。这些邮箱被从1~150进行了编号,然后从邮箱2开始,他打开了所有编号为偶数的邮箱的门,而保持其他邮箱的门关着。接着,从邮箱3开始,每个3个邮箱,如果这个邮箱的门是关着的他就打开这个邮箱的门,而如果门是开着的,他就关上门。然后他每隔4个邮箱重复这个过程,如此下去。当结束时,他被关着的邮箱的分布所惊讶了。编写一个程序来判断哪些邮箱是关着的。
C++实现:
#include <iostream>using namespace std;#define CAPACITY 150 //表示150个邮箱void main() { bool mailBox[CAPACITY+1] = { 0 };/*申请151个元素,只用1~150,将所有元素的值设为false,表示关闭*/ int k = 2; while (k <= CAPACITY) { for (int i = k; i <= CAPACITY; i += k) { mailBox[i] = !mailBox[i]; /*如果是false,设置为true;如果是true,设置为false*/ } k++; } /*输出值为false的元素下标,即关着的邮箱编号*/ for (int i = 1; i <= CAPACITY; i++) { if (mailBox[i] == false) { cout << i << endl; } } system("pause");}
最后输出的是150以内的正整数的平方。
运行结果:
阅读全文
0 0
- 第3章 编程问题 3.2节 2
- 第3章 编程问题 3.2节 3
- 第3章 编程问题 3.2节 1
- 第3章 编程问题 3.2节 4
- 第2章 编程问题 2.2节 3
- 第3章 编程问题 3.3节 9
- 第2章 编程问题 2.2节 1
- 编程珠玑--第12章 取样问题
- 《编程珠玑》第12章:取样问题
- 编程珠玑 第1/2/3章
- n元一维向量旋转问题(编程珠玑--第2章--问题B )
- python核心编程第3版第2章 网络编程【读书笔记】
- 数据库编程第3章
- 第3章:RDD编程
- 第3章 IAR编程
- 第2章 Unicode编程
- 数据库编程第2章
- 【C++语言99个常见编程错误】第3章 预处理器问题
- java synchronized详解
- otl开发踩坑
- 大数据Pig命令
- Mongodb查询
- Spring全家桶(七)通过注解配置Bean
- 第3章 编程问题 3.2节 2
- mysql 数据表名,字段名查询
- N^N的最右边的数
- maven中依赖范围简单解释
- JQuery给动态添加的元素绑定事件
- git 基本操作
- bootstrap-table分页
- Mongodb监控
- kaldi-ctc src/ctcbin 底层命令学习