菜鸟教程 -- 学的不仅是技术,更是梦想!

C++ 教程
C++ 教程 C++ 简介 C++ 环境设置 C++ 基本语法 C++ 注释 C++ 数据类型 C++ 变量类型 C++ 变量作用域 C++ 常量 C++ 修饰符类型 C++ 存储类 C++ 运算符 C++ 循环 C++ 判断 C++ 函数 C++ 数字 C++ 数组 C++ 字符串 C++ 指针 C++ 引用 C++ 日期 & 时间 C++ 基本的输入输出 C++ 结构体(struct) C++ vector 容器 C++ 数据结构

C++ 面向对象

C++ 类 & 对象 C++ 继承 C++ 重载运算符和重载函数 C++ 多态 C++ 数据抽象 C++ 数据封装 C++ 接口(抽象类)

C++ 高级教程

C++ 文件和流 C++ 异常处理 C++ 动态内存 C++ 命名空间 C++ 模板 C++ 预处理器 C++ 信号处理 C++ 多线程 C++ Web 编程

C++ 资源库

C++ STL 教程 C++ 导入标准库 C++ 标准库 C++ 有用的资源 C++ 实例 C++ 测验 C++ <iostream> C++ <fstream> C++ <sstream> C++ <iomanip> C++ <array> C++ <vector> C++ <list> C++ <forward_list> C++ <deque> C++ <stack> C++ <queue> C++ <priority_queue> C++ <set> C++ <unordered_set> C++ <map> C++ <unordered_map> C++ <bitset> C++ <algorithm> C++ <iterator> C++ <functional> C++ <numeric> C++ <complex> C++ <valarray> C++ <cmath> C++ <string> C++ <regex> C++ <ctime> C++ <chrono> C++ <thread> C++ <mutex> C++ <condition_variable> C++ <future> C++ <atomic> C++ <type_traits> C++ <typeinfo> C++ <exception> C++ <stdexcept> C++ <cstdio> C++ <cstdint> C++ <memory> C++ <new> C++ <utility> C++ <random> C++ <locale> C++ <codecvt> C++ <cassert> C++ <cwchar> C++ <climits> C++ <cfloat> C++ <cstdlib> C++ <numbers> C++ OpenCV
(追記) (追記ここまで)

C++ 嵌套循环

C++ 循环 C++ 循环

一个循环内可以嵌套另一个循环。C++ 允许至少 256 个嵌套层次。

语法

C++ 中 嵌套 for 循环 语句的语法:

for(init; condition; increment){for(init; condition; increment){statement(s); }statement(s); // 可以放置更多的语句}

C++ 中 嵌套 while 循环 语句的语法:

while(condition){while(condition){statement(s); }statement(s); // 可以放置更多的语句}

C++ 中 嵌套 do...while 循环 语句的语法:

do{statement(s); // 可以放置更多的语句do{statement(s); }while(condition); }while(condition);

关于嵌套循环有一点值得注意,您可以在任何类型的循环内嵌套其他任何类型的循环。比如,一个 for 循环可以嵌套在一个 while 循环内,反之亦然。

实例

下面的程序使用了一个嵌套的 for 循环来查找 2 到 100 中的质数:

实例

#include<iostream>usingnamespacestd; intmain(){inti, j; for(i=2; i<100; i++){for(j=2; j <= (i/j); j++){if(!(i%j)){break; // 如果找到,则不是质数}}if(j > (i/j)){cout << i << " 是质数\n"; }}return0; }

当上面的代码被编译和执行时,它会产生下列结果:

2 是质数
3 是质数
5 是质数
7 是质数
11 是质数
13 是质数
17 是质数
19 是质数
23 是质数
29 是质数
31 是质数
37 是质数
41 是质数
43 是质数
47 是质数
53 是质数
59 是质数
61 是质数
67 是质数
71 是质数
73 是质数
79 是质数
83 是质数
89 是质数
97 是质数

C++ 循环 C++ 循环

AI 思考中...

2 篇笔记 写笔记

  1. #0

    时间的诗

    176***[email protected]

    55

    筛选法代码查找 2 到 100 中的质数:

    #include <iostream>
    #include<math.h>
    using namespace std;
    int main()
    {
     int i,j;
     for(i=2;i<100;i++)
     {
     for(j=2;j<=(double)sqrt((double)i);j++)
     {
     if(!(i%j))
     break;//不是质数
     }
     if(j>(double)sqrt((double)i))
     cout<<i<<"是质数\n";
     }
     return 0;
    }

    时间的诗

    176***[email protected]

    9年前 (2017年08月18日)
  2. #0

    iuo

    192***[email protected]

    78

    根据质数的倍数一定不是质数,利用线性筛法,可以让时间复杂度达到O(n),代码献上:

    //求2~n之间的素数 
    #include<cstdio>
    #include<iostream>
    #include<cstring>
    using namespace std;
    #define MAXN_N 1000001
    int v[MAXN_N],primes[MAXN_N];//primes用来存储素数
    int main()
    {
     int n,m=0;//m 是素数的数目 
     cout << "输入 n 的值:" << endl;
     scanf("%d",&n);
     memset(v,0,sizeof(v));
     for(int i=2;i<=n;i++)
     {
     if(v[i]==0)//i是素数 
     {
     v[i]=i;
     primes[++m]=i;
     }
     for(int j=1;j<=m;j++)
     {
     if(primes[j]>v[i]||primes[j]>n/i)break;//i有比primes[j]更小的质因子,或者超出范围
     v[i*primes[j]]=primes[j];//primes[j]是合数i*primes[j]的最小质因子 
     }
     }
     for(int i=1;i<=m;i++) cout<<primes[i]<<" ";
     return 0;
    } 

    iuo

    192***[email protected]

    8年前 (2018年10月02日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /