C++课后习题训练记录Day114

1.练习项目:

问题描述

定义一种特殊的整数序列:这种序列由连续递增的整数组成,并满足以下条件:

  1. 序列长度至少为 3。
  2. 序列中的数字是连续递增的整数(即相邻元素之差为 1),可以包括正整数、负整数或 0。

例如,1,2,3、4,5,6,7 和 −1,0,1 是符合条件的序列,而 1,2(长度不足)和 1,2,4(不连续)不符合要求。

现给定一组包含 N 个正整数的数据 A1,A2,...,AN​。如果某个 Ai​ 能够表示为符合上述条件的连续整数序列中所有元素的和,则称 Ai​ 是可分解的。

请你统计这组数据中可分解的正整数的数量。

输入格式

输入的第一行包含一个正整数 N,表示数据的个数。

第二行包含 N 个正整数 A1,A2,...,AN​,表示需要判断是否可分解的正整数序列。

输出格式

输出一个整数,表示给定数据中可分解的正整数的数量。

2.选择课程

在蓝桥云课中选择题库,选择题号20545并开始练习。

3.开始练习

(1)源码 :

#include<bits/stdc++.h>

using namespace std;

using ll=long long;

const int N=1e5+10;

ll aN;

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

ll n;cin>>n;

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

cin>>ai;

}

ll ans=0;

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

if(ai!=1){

ans++;

}

}

cout<<ans<<'\n';

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:

解题思路:思维题

除了 11 以外的任何一个数 x,都可以构造成:−(x−1),−(x−2),...,−1,0,1,...,x−1,x 使其总和为 x。

因此,仅需统计序列中非 1 的个数即可。

注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

相关推荐
Wang's Blog9 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain10 小时前
C++转Java日记(03)
java·开发语言·c++
布莱克60510 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_67810 小时前
深挖C++:类和对象(中)
开发语言·c++
灿飞屋10 小时前
Rust 编程其实很简单
开发语言·rust
MOONICK12 小时前
QT元数据
开发语言·qt
D e re k ZH13 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
灿飞屋14 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
xiaoye-duck14 小时前
《C++ 项目:手写大模型接入 SDK》Ollama接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
zaizai100714 小时前
【Effective Modern C++】学习第一章
c++