循环语句例题(3)

简介: 循环语句例题(3)

1、小乐乐求和_牛客题霸_牛客网

点击题目链接,做题

分析:

       1、大写 用于数学上的求和符号(总和符号),如

其中上界是n,下界是i。(没有上下标时,就表示该数或该符号,重复出现)

       我们理解了求和符号,其实

就是1+2+3+4+5+……+n

代码1:暴力求和:直接利用循环从1遍历到n,累加。

#include <stdio.h>
int main() 
{
    long int sum=0;//求和结果数据太大超过了int的范围
    int n=0;
    //输入
    scanf("%d",&n);
    //累加求和
    int i=0;
    for(i=1;i<=n;i++)
    {
        sum+=i;
    }
    //输出
    printf("%ld\n",sum);
    return 0;
}

代码2:等差求和公式:Sn=n*(a1+an)/2;通项公式:an=a1+(n-1)*d

#include<stdio.h>
int main()
{
    long int n=0;
    //输入
    scanf("%ld",&n);
    //等差求和
    long long sum=(1+n)*n/2;
    //输出
    printf("%lld\n",sum);
    return 0;
}

注意:

①当题目中变量数据太大时,建议使用long long或long 类型,防止超过变量的数据范围

②代码1的n可以用int,代码2不可以,是因为sum那我们直接初始化(n+1)*n/2,后面计算求和的时候都是按照int类型来算的,导致结果溢出了。

2、小乐乐排电梯_牛客题霸_牛客网

点击题目链接,做题

分析:

       1、小乐乐前面有n人,电梯一次最多坐12人。

       2、电梯上下需要4分钟(上需2分钟,下需2分钟)

       3、有n/12波人在小乐乐前面需要等4分钟,之后小乐乐自己上去需要等2分钟。

代码1:

1. #include <stdio.h>
2. 
3. int main()
4. {
5. int n=0;
6.     scanf("%d",&n);
7.     printf("%d\n",4*(n/12)+2);
8. return 0;
9. }

代码2:

#include <stdio.h>
int main() 
{
    int n=0;
    scanf("%d",&n);
    int a=n/12;
    int t=0;
    do
    {
        if(a!=0)
        {
            t+=4;
        }
        else
        {
            t+=2;
        }
    }while(a--);
    printf("%d",t);   
    return 0;
}
相关文章
|
6月前
IF语句例题(一)
IF语句例题(一)
|
12月前
|
C语言
C语言:循环语句(while循环、for循环)
C语言:循环语句(while循环、for循环)
|
6月前
2.c语言:用do while语句实现循环
2.c语言:用do while语句实现循环
63 1
|
6月前
|
C# 计算机视觉
26.C#循环嵌套
26.C#循环嵌套
51 0
|
6月前
|
算法 C语言
C语言汉诺塔数列(循环版,递归版)
C语言汉诺塔数列(循环版,递归版)
68 0
|
6月前
|
存储
【例题】逆波兰表达式求值(图解+代码)
【例题】逆波兰表达式求值(图解+代码)
158 0
|
6月前
|
算法 C++
C++006-C++分支结构练习题
C++006-C++分支结构练习题
|
C语言
C语言例题讲解(if语句,循环语句,函数)
C语言例题讲解(if语句,循环语句,函数)
95 0
分支结构(if语句)习题系列(一)
分支结构(if语句)习题系列(一)
83 0
|
人工智能 BI
循环结构 编程例题
循环结构 编程例题
90 0