当前位置: 首页> 教育> 锐评 > seo站长优化工具_百度站长链接提交平台_专业网站推广软件_阿里指数在哪里看

seo站长优化工具_百度站长链接提交平台_专业网站推广软件_阿里指数在哪里看

时间:2025/7/27 22:10:06来源:https://blog.csdn.net/weixin_66461496/article/details/146112619 浏览次数:0次
seo站长优化工具_百度站长链接提交平台_专业网站推广软件_阿里指数在哪里看

信奥赛CSP-J复赛集训(模拟算法专题)(6):P6352 [COCI 2007/2008 #3] CETIRI

在这里插入图片描述

题目描述

你原本有 4 4 4 个数,它们从小到大排序后构成了等差数列。

但是现在丢失了一个数,并且其余的三个数的顺序也被打乱了。

请你找出第四个数。

输入格式

输入一行三个整数。保证这些数字在 − 100 ∼ 100 -100\sim 100 100100 之间。

输出格式

输出一行一个数,为第四个数。

方案可能不是唯一的,但保证一定存在,本题使用SPJ。

输入输出样例 #1

输入 #1

4 6 8

输出 #1

10

输入输出样例 #2

输入 #2

10 1 4

输出 #2

7

说明/提示

说明

题目译自 COCI2007-2008 CONTEST #3 T1 CETIRI

AC代码:

#include<bits/stdc++.h>
using namespace std;int a[5]; // 使用a[1]~a[3]存储输入的数,a[4]存储结果int main() {// 输入三个数for(int i = 1; i <= 3; i++) {cin >> a[i];}// 将三个数从小到大排序sort(a + 1, a + 4);int d1 = a[2] - a[1]; // 前两个数的差值int d2 = a[3] - a[2]; // 后两个数的差值// 根据差值判断缺失的数if (d1 == d2) { // 差值相等,说明已经是等差数列,下一个数为末尾数加公差a[4] = a[3] + d1;} else if (d2 > d1) { // 后差值较大,说明中间缺失一个数,补在a[2]和a[3]之间a[4] = a[2] + d1;} else { // 前差值较大,说明前面缺失一个数,补在a[1]和a[2]之间a[4] = a[1] + d2;}cout << a[4];return 0;
}

功能分析:

  1. 输入与排序
    代码首先读取三个整数并存入数组 a[1]a[2]a[3],然后对这三个数进行升序排序,确保后续逻辑基于有序序列。

  2. 差值计算
    计算前两个数的差值 d1 和后两个数的差值 d2。这两个差值用于判断等差数列的公差及缺失元素的位置。

  3. 逻辑分支处理

    • 情况1:d1 == d2
      说明三个数已构成等差数列,缺失的第四个数为最后一个数加上公差 d1。例如输入 [1, 3, 5],输出 7
    • 情况2:d2 > d1
      表示后两个数的间隔更大,缺失数应位于中间位置,公差为 d1。例如输入 [1, 3, 7],补 5(公差2)。
    • 情况3:d1 > d2
      表示前两个数的间隔更大,缺失数应位于前部,公差为 d2。例如输入 [1, 5, 7],补 3(公差2)。
  4. 输出结果
    最终输出计算的缺失数,确保四个数形成完整的等差数列。

示例验证:

  • 输入 1 5 7
    排序后为 [1, 5, 7]d1=4d2=2。由于 d1 > d2,补 1 + 2 = 3,结果序列为 [1, 3, 5, 7]
  • 输入 7 3 1
    排序后同上,结果相同。
  • 输入 1 2 4
    排序后 [1, 2, 4]d1=1d2=2。因 d2 > d1,补 2 + 1 = 3,结果序列为 [1, 2, 3, 4]

该代码通过排序和差值分析,高效地补全缺失项,确保生成等差数列。

文末彩蛋:

关注并查看老师的个人主页,学习完整csp信奥赛完整系列课程: https://edu.csdn.net/lecturer/7901

在这里插入图片描述

关键字:seo站长优化工具_百度站长链接提交平台_专业网站推广软件_阿里指数在哪里看

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: