C++循环

目录

 乘方运算

 若干整数的最大值

斐波那契数列

求1!+2!+3!+……+n!

求不大于n的全部质数(100为例)


 乘方运算

```cpp

#include <iostream>
using namespace std;
int main()
{
    int resutlt, a, n;
    cin >> a >> n;
    int result = 1;
    for (int i = 0; i < n; i++)
         result *= a;
    cout << result;
    return 0;
}


```

cin输入的好处

 若干整数的最大值

```cpp

#include <iostream>
using namespace std;
int main()
{
    int n, max;
    cin >> max; //先向max赋予第一个输入值
    while (cin >> n)
    {
         
        if(n > max) max = n;
    }
    cout << max << endl;
    return 0;
}


```

输入完输入Ctrl + Z / Ctrl + D(结束标志符) 
附注 scanf()的值 scanf("%lf") 
若 3.4 ,值1
 若 n, 值0 
 若EOF, 值-1

斐波那契数列

```cpp

#include <iostream>
using namespace std;
int main()
{
    int pre ,lat;
    pre = lat = 1;
    int m;
    int k;
    cin >> k;
    for(int i = 0; i < k - 2; i++)
    {
        m = pre + lat;
        pre = lat;
        lat = m;
    }
    cout << lat;
    return 0;
}

```

求1!+2!+3!+……+n!

繁琐版


```cpp

#include <iostream>
using namespace std;
int main()
{
    int n;
    int sum = 0, fact;
    int i, k;
    cin >> n;
    for(i = 1; i <= n; i++)
       {
        for(fact = 1, k = 1; k <= i; k++)
            {
                fact *= k;
            }
        sum += fact;
    }
    cout << sum;
    return 0;
}


```

紧凑版

```cpp

#include <iostream>
using namespace std;
int main()
{
    int n;
    int sum = 0, fact;
    int i, k;
    cin >> n;
    for(i = 1; i <= n; i++)
       {
        fact *= i;         //注意2!与3!的关系
        sum += fact;
    }
    cout << sum;
    return 0;
}


```

求不大于n的全部质数(100为例)

```cpp

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int n;
    int i, k;
    int flag = 1;
    cin >> n;
    int m =2;
    printf("%2d ", m);
    for(i = 3; i <=n; i += 2)        //筛除偶数
    {
        for(k = 3; k < i; k += 2)   //判断i是否为质数
           {
            if(i % k == 0) break;
            if(k * k > i) break;      
           }
        if(k * k > i)
        {
            flag++;
            printf("%2d ", i);
            if(flag % 5 == 0)
            {
                printf("\n");
                flag = 0;
            }
         }
    }
    return 0;
}


```

输出结果

> 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

感想:高手的答案总经过进一步改进,更加简洁


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值