当前位置: 首页 > news >正文

基础实验2-2.1 整数的分类处理

基础实验2-2.1 整数的分类处理 - 浙大版《数据结构学习与实验指导(第2版)》题目集 (pintia.cn)

给定 N 个正整数,要求你从中得到下列三种计算结果:

  • A1 = 能被 3 整除的最大整数
  • A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
  • A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
输入格式:

输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。

输出格式:

在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE

输入样例 1:
8
5 8 7 6 9 1 3 10
输出样例 1:
9 3 6.5
输入样例 2:
8
15 18 7 6 9 1 3 10
输出样例 2:
18 3 NONE
题解

主要理解计算部分:

  • A1:在这 N 个正整数中,找到能被 3 整除的最大整数。如果不存在能被 3 整除的数,A1 就为 NONE

  • A2:统计这 N 个正整数中,存在整数 K 使得该数可以表示为 3K+1 形式的整数的个数。

  • A3:计算这 N 个正整数中,存在整数 K 使得该数可以表示为 3K+2 形式的所有整数的平均值,并且精确到小数点后 1 位。如果不存在这样的数,A3 就为 NONE

需要注意的是,在计算 A3 时,若不存在满足 3K+2 形式的数(即 count 为 0),直接进行 sum/(count*1.0)` 计算会引发除零错误。所以在计算之前要先检查 count 是否为 0。

代码
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int A1=-1;//能被 3 整除的最大整数
    int A2=0;//存在整数 K 使之可以表示为 3K+1 的整数的个数
    double A3=-1.0;//存在整数 K 使之可以表示为 3K+2 的所有整数的平均值
    int num[n];
    int sum=0,count=0;
    for(int i=0;i<n;i++){
        cin>>num[i];
        if(num[i]%3==0){
            A1 = A1<num[i] ? num[i] : A1;
        }
        if(num[i]%3==1){
            A2++;
        }
        if(num[i]%3==2){
            sum+=num[i];
            count++;
        }
    }
    if(count!=0){
        A3=sum/(count*1.0);
    }
    if(A1!=-1) cout<<A1<<" ";
    else cout<<"NONE"<<" ";
    if(A2) cout<<A2<<" ";
    else cout<<"NONE"<<" ";
    if(A3!=-1.0) printf("%.1lf",A3);
    else cout<<"NONE";
    return 0;
}

相关文章:

  • openresty-nginx添加新模块
  • 机器学习中的 K-均值聚类算法及其优缺点
  • 什么是Dify,以及我们能用它来做什么
  • 开源AI大模型赋能私域流量:S2B2C场景下品牌文化建构的智能路径研究
  • Micropython RPI-PICO 随记-双PICO串口传数据
  • VMware Workstation虚拟机固定IP配置(主机互通、外网可访问)
  • 【Windows计算机常识】查看IP配置
  • 热门面试题第14天|Leetcode 513找树左下角的值 112 113 路径总和 105 106 从中序与后序遍历序列构造二叉树 (及其扩展形式)以一敌二
  • 【深度学习】GAN生成对抗网络:原理、应用与发展
  • 理解Kubernetes中CoreDNS域名解析与DNS策略
  • 蓝桥杯备考----->Cow Picnic (BFS)
  • redis--JavaSpring客户端
  • Modbus协议详细规范
  • MySQL基础语法
  • 英语+C语言:3.24
  • 【AIGC】图片变视频 - SD ComfyUI视频生成
  • Vue 3中的Teleport:超越组件边界的渲染
  • 【SpringCloud】OpenFeign和Gateway
  • 2-1 基本放大电路
  • MySQL 8.0.41安装教程(附安装包)mysql8.0.41图文详细安装教程
  • 自媒体网站程序/整合营销传播
  • 网站开发检测用户微信号/推广app有哪些
  • 个人网站策划书模板/免费域名空间申请网址
  • 大连网站搜索排名提升/免费的舆情网站入口在哪
  • 深圳有做网站最近价格/免费的网站申请
  • 浙江省住房城乡建设厅官方网站/桂林网页