累加器、累乘器

2024-06-12 01:44
文章标签 累加器 累乘器

本文主要是介绍累加器、累乘器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

for 语句是C++编程语言中使用最为灵活的语向,常常应用于已给定变量初值、步长,以及一些有循环条件等的循环结构,它可以帮我们解决求和、求积、找最大数最小数以及统计个数等很多很多问题。

一:求和:

计算1+2+3+4+5+....+100的和

分析:

第几项(i)

1

2

3

4

和(s)

1

3

6

10

规律

s=s+2

s=s+3

s=s+4

从第二项到第i项的规律:s=s+i;

那么第一项的规律是什么,如何“化异为同”?

在加第一项之前,将s的值赋为0;

第几项(i)

1

2

3

4

和(s)

1

3

6

10

规律

s=s+1

s=s+2

s=s+3

s=s+4

代码如何实现?

分析:

1.用变量s存放和,对变量s清零;

2. 用i表示1至100 的自然数,用循环列出;

3. 将这些自然数用式子s=s+i逐一累加到s中去;

4. 循环结束后,s即为1~100 的自然数的和,输出即可。

代码:

#include<iostream>

using namespace std;

int main()

{

    int i,s,n;

    s=0;

//注意:这里的变量在使用前一定要初始化,不然系统会随机赋值

    cin>>n;

    for( int i=1; i<=n; i++)

    {

        s=s+i;

    }

    cout<<s;

    return 0;

}

思考:求a-b内自然数之和,程序该如何实现?

输入格式:一行,2个整数a,b;

输出格式:一个整数表示和

小结:

 对于类似数列的题目,我们可以通过列表来找规律,一般情况下,解决这类问题我们可以通过for来模拟过程。

课后作业3 查看测评数据信息

【问题描述】

超市自动计费器主要功能是统计出顾客选购的商品的总价值。你能帮忙设计一个这样的计费系统吗?

【输人格式】

第一行:仅一个整数n,表示顾客选购的商品数;

第二行:有n个整数,表示每件商品的价格。

【输出格式】

输出顾客的消费额。

【输人样例】

5

25 100 63 84 12

【输出样例】

284

#include<bits/stdc++.h>
using namespace std;
int main(){int n,a,s;cin>>n;for(int i=1;i<=n;i++){cin>>a;s=s+a;}cout<<s;return 0;
}

长度 查看测评数据信息

学校体艺节有一种新形式的马拉松比赛:运动员需要用N分钟的时间跑,看谁跑的最远。晨晨报名参加了这个比赛,已知她每分钟的速度是v1,v2,…,vn,问晨晨总共跑了多长的距离?

输入格式

第一行:1个正整数N,表示晨晨要跑N分钟。 N的范围为[1, 100]。

第二行:N个整数,表示晨晨每分钟跑步的速度。每个数的范围为[1, 500]。

输出格式

一个整数,N分钟晨晨总共跑的距离。

输入/输出例子1

输入:

3  

2  5  3

输出:

10

#include<bits/stdc++.h>
using namespace std;
int main(){int n,a,s=0;cin>>n;for(int i=1;i<=n;i++){cin>>a;s=s+a; }cout<<s;return 0;
}

偶数之和 查看测评数据信息

晨晨最近对偶数比较感兴趣,现在晨晨面前有一堆整数,请你帮她统计这一堆数据里面偶数的和是多少。

输入格式

第一行:一个整数 n,表示有多少个数据。(n<=100)

第二行:n 个整数。(每个整数小于等于 1000)

输出格式

一行:一个整数代表这一堆数据里面偶数的和。

输入/输出例子1

输入:

6

48 50 51 49 50 52

输出:

200

#include<bits/stdc++.h>
using namespace std;
int main(){int n,a,s;s=0;cin>>n;for(int i=1;i<=n;i++){cin>>a;if(a%2==0)s=s+a;}cout<<s;return 0;
}

连续数字之和 查看测评数据信息

晨晨最近对连续一段数字之和很感兴趣,她很想编一道程序,只要输入开始数字s和结束数字e,立刻就能算出这段数据的和,如输入1和5,那么计算机计算1+2+3+4+5=15,输出15,你能帮她实现吗

输入格式

一行,两个整数s和e,分别代表开始和结束数字(0≤s≤e≤100

输出格式

一行,一个整数,代表这段连续数字之和。

输入/输出例子1

输入:

1 5

输出:

15

#include<bits/stdc++.h>
using namespace std;
int main(){int a,b,s;s=0;cin>>a>>b;for(int i=a;i<=b;i++)s=s+i;cout<<s;return 0;
}

例题2 查看测评数据信息

题目描述

输入 n 个整数,求它们之中所有数的积。

输入格式

 第一行1个整数n,范围在[1,9]。
 第二行有n个[1,100]范围的整数,整数间用一个空格分隔。

输出格式

 只一个整数,它们的积。

(注意数据范围)

#include<bits/stdc++.h>
using namespace std;
long long n,a,s;
int main(){  s=1;cin>>n;for(int i=1;i<=n;i++){cin>>a;s=s*a;}cout<<s;return 0;
}

课堂练习1 查看测评数据信息

题目描述

累乘a-b中所有的偶数

输入格式:

一行两个整数a,b(1,30)

输出格式

一个整数。

输入样例

5 10

输出样例

480

#include<bits/stdc++.h>
using namespace std;
int main(){long long b,a,s;s=1;cin>>a>>b;for(int i=a;i<=b;i++)if(i%2==0)s=s*i;cout<<s;return 0;
}

课堂练习4 查看测评数据信息

【问题描述】

为了在学校的体艺节中体现不同的精神面貌,四年级快定统一订制级服,给出每件级服的价钱及四年级各班的人数,求全级订制级服所需要的总价钱。

【输人格式】

第一行:

一个整数x (x≤100),表示每件级服的价钱;

第二行:

一个整数n(n≤10),表示四年级的班别数;

第三行:n个整数,表示四年级各班的人数。(各班人数在60人以内)

【输出格式】

1行:

一个整数代表全级订制级服所需要的总价钱。

【输人样例】

30

6

48 50 51 49 50 52

【输出样例】

9000

#include<bits/stdc++.h>
using namespace std;
int main(){int n,x,a,s=0;cin>>x>>n;for(int i=1;i<=n;i++){cin>>a;s=s+a*x;}cout<<s;return 0;
}

课堂练习2 查看测评数据信息

求2*12*22*32+……的值。 
输入n(n<=99) 
输出n以内符合上述数字特征的积。 
输入样例 : 
40 
输出样例: 
16896

#include<bits/stdc++.h>
using namespace std;
int main(){long long n,s=1;cin>>n;for(int i=2;i<=n;i=i+10){s=s*i;    }cout<<s;return 0;
}

例题5 查看测评数据信息

小红最近学了正整数和负整数,现在有一组整数,她想算出这组整数有多少个正整数,多少个负整数,以及正整数的和是多少,负整数的和又是多少?

输入格式

第一行:一个正整数n (0<n≤100),代表有n个整数;

第二行:n个空格分开的整数(整数小于等于 1000)

输出格式

第一行:两个整数,代表正整数的个数和正整数的和(如果没有正数就输出 00);

第二行:两个整数,代表负整数的个数和负整数的和(如果没有负数就输出 。

输入/输出例子1

输入:

5

8

-5

4

-1

-7

输出:

2 12

3 -13

#include<bits/stdc++.h>
using namespace std;
long long n,a,s1=0,s2=0,a1=0,a2=0;
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>a;if(a>0){s1++;a1=a1+a;}if(a<0){s2++;a2=a2+(a);}}if(s1>0)cout<<s1<<" "<<a1<<endl;else cout<<" 00";if(s2>0)cout<<s2<<" "<<a2<<endl;else cout<<" 。";return 0;
}

课后练习1 查看测评数据信息

问题描述: 
晨晨认为每一天都有一个幸运数字,而且她每天的幸运数字都是不同的,幸运数字产生有如下规律:第一天为1,第二天就是第一天数字的2倍,第三天的数字为第二天的3倍,以此类推,求第n天幸运数是什么? 
输入格式: 
一行一个整数n(1<=n<=20),代表第n天。 
输出格式: 
一行一个整数,代表第n天的幸运数。

#include<bits/stdc++.h>
using namespace std;
int main(){long long n,s=1;cin>>n;for(int i=1;i<=n;i++){s=s*i;    }cout<<s;return 0;
}

课后作业1 查看测评数据信息

题目描述

火柴盒长为L,宽为W(1<=L,W<=100),高度有一层楼这么高,给你N(1<=N<=50)根火柴,知道每一根火柴的长度,并且火柴只能横放或竖放,问有多少根火柴可以放进该火柴盒。 

输入格式: 

第一行输入N,L和W。 

接下来N行每行输入一个1到1000范围内的一个整数,表示火柴的长度。 

输出格式: 

输出能够装进火柴盒的火柴的数量。 

输入样例 : 

5 3 4 

输出样例: 

#include<bits/stdc++.h>
using namespace std;
int main(){int n,x,y,a,s;cin>>n>>x>>y;for(int i=1;i<=n;i++){cin>>a;if(a<=x)s++;else if(a<=y)s++;}cout<<s;return 0;
}

这篇关于累加器、累乘器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052848

相关文章

11.累加器实验

实验现象:每当按下一个按键,数码管显示值加一。 理论学习:熟悉四位数码管显示原理,回顾以前实验中按键的写法。编写出需要的实验效果。 程序代码: #include <Arduino.h>#define SEG_A 2#define SEG_B 3#define SEG_C 4#define SEG_D 5#define SEG_E 6#define SEG_F 7#define

spark的Accumulator累加器使用及 自定义Accumulator功能

一、spark的累加器Accumulator     使用Accumulator时,为了保证准确性,只使用一次action操作。如果多次action操作,会造成累加器值错误。 解决方案:将任务之间的血缘依赖关系切断就可以了。什么方法有这种功能呢?cache,persist,调用这个方法的时候会将之前的依赖切除,后续的累加器就不会再被之前的transfrom操作影响到了。 二、自定义Accum

详解 Spark 核心编程之累加器

累加器是分布式共享只写变量 一、累加器功能 ​ 累加器可以用来把 Executor 端的变量信息聚合到 Driver 端。在 Driver 程序中定义的变量,在 Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后,传回 Driver 端进行 merge 二、累加器类型 1. 系统累加器 /**常见的系统累加器:longAc

Utreexod:支持Utreexo累加器的比特币全节点

1. 引言 前序博客: Utreexo:比特币UTXO merkle tree proof以节约节点存储空间Utreexo:优化Bitcoin UTXO集合的基于哈希的动态累加器Zerosync:构建基于STARK的Bitcoin证明系统 Utreexod为: 支持Utreexo累加器的比特币全节点 开源代码见: https://github.com/utreexo/utreexod(

Flink 累加器 实例

每个并行的任务实例下有各自的累加器,获取最终值时会把各个并行任务的累加器的值求和。(一个并行度对应一个累加器) 版本: flink1.9.2    java1.8 map并行度1: package Counter;import org.apache.flink.api.common.JobExecutionResult;import org.apache.flink.api.common.

9、Flink 用户自定义 Functions 及 累加器详解

1)用户自定义函数 1.实现接口 最基本的方法是实现提供的接口。 # 根据提供的接口创建自定义函数class MyMapFunction implements MapFunction<String, Integer> {public Integer map(String value) { return Integer.parseInt(value); }}# 调用创建的自定义函数dat

用Python编写一个简单的数字累加器 数字累加器

目录 一.总体说明 二.完整代码 三.逐行分析 一.总体说明 数字累加器是一种用于对数字进行持续累加的设备或算法。它可以在每次输入一个数字时将其与之前的累加结果相加,并更新累加结果。数字累加器通常用于计算总和、平均值或其他需要对连续数字进行累加的应用场景。 在计算机科学中,数字累加器也被称为累加寄存器。它是计算机体系结构中的一部分,在CPU或其他处理器中负责执行累加操作。累加器

40.原子累加器

java8之后,新增了专门用于计数的类,LongAccumulator,LongAdder的性能高于AtomicLong。 LongAdder 性能 > AtomicLong 性能 性能高的原因:如果都往一个共享变量上面进行累加,那么比较重试的次数肯定就多;如果分成几个变量分别进行累加就优化了。在竞争时设置了多个累加单元。Thread-0累加Cell[0],而Thread-1累加Cell[

JUC:原子类型的使用(原子整数、原子引用、原子数组、字段更新器、累加器)

文章目录 原子类型AtomicInteger 原子整数AtomicReferenc 原子引用AtomicStampedReference 带版本号的原子引用AtomicMarkableReference 仅记录是否修改的原子引用AtomicXXXArray 原子数组AtomicXXXFieldUpdater 字段更新器LongAdder累加器 原子类型 AtomicIntege

js reduce累加器

reduce 是es6 新增的数组操作方法 意为累加器 使用方法如下 [1,1,1,1].reduce((total,currentValue,index)=>{},initialValue) initialValue 代表的是累加器的初始值 必填 total的值在初始情况下等于initialValue 用来接收返回的结果 必填 currentValue 代表数组中的每一项 必填 inde