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 的个数即可。

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

相关推荐
临床数据科学和人工智能兴趣组2 小时前
在R语言中, 使用 as.factor() 函数转换数值型变量
开发语言·r语言
andyweike5 小时前
php笔记
开发语言·笔记·php
蒸蒸yyyyzwd6 小时前
秋招学习笔记 day46
c++·八股
Circ.6 小时前
Python 调试 Litellm 本地大模型接口:模型列表与对话接口实操踩坑记录
开发语言·python
现任明教教主~8 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
Zhou1411368 小时前
SpringSecurity_02_授权与高级功能
开发语言·python
码匠许师傅9 小时前
【C++三方组件】cpp-httplib:一个头文件起 HTTP 服务
开发语言·c++·http
无名猿10 小时前
new/delete 与 malloc/free:为什么绝对不能混用
c++·内存管理·现代c++·踩坑记录