【C语言蓝桥杯每日一题】——等差数列

【C语言蓝桥杯每日一题】——等差数列😎

  • 前言🙌
    • 等差数列🙌
      • 解题思路分析:😍
      • 解题源代码分享:😍
  • 总结撒花💞

追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【C语言蓝桥杯每日一题】——等差数列~ 都是精华内容,可不要错过哟!!!😍😍😍

等差数列🙌

在这里插入图片描述

这道题,我用到了C语言中的qsort库函数,它是一种基于快排算法思想的排序函数。首先,想让大家认识一下qsort库函数的大概样子,和如何使用。

在这里插入图片描述

在这里插入图片描述

这个qsort库函数有四个参数:

  • void *base : 指向一个需要比较的一组数据的空间的指针;
  • size_t num: 比较的元素个数;
  • size_t width:元素的大小(字节);
  • int (__cdecl *compare )(const void *elem1, const void *elem2 ) :
    一个函数指针
  • 这个函数设计的返回值和strcmp函数的设计思路一致。

解题思路分析:😍

  • 首选认真将题目看完,因为是涉及到等差数列,所以要回想起等差数列的一些性质。
  • 由等差数列的 an = a1 + (n - 1) x d; 我们可以推出 项数 n =( ( an - a1)
    / d ) + 1 。
  • 一般刷题网站都是支持变长数组语法的,所以我这里利用变长数组创建一个存放n个整型变量的数组。
  • 然后利用qsort将数组进行一个升序排序(qsort库函数本身设计就是进行一个升序排序)。
  • 然后寻找相邻两个数的最小差值作为这个数组的公差。因为满足这个就能保证所有其他元素设计成最短的符合条件的等差数列。

解题源代码分享:😍

#include <stdio.h>
#include <stdlib.h>


int compare(const void* e1, const void* e2)
{
    return *(int*)e1 - *(int*)e2;
}
int min(int a, int b)
{
    return a < b ? a : b;
}


int main(int argc, char* argv[])
{
    int n = 0;
    scanf("%d", &n);
    int arr[n];
    int i = 0;
    int d = 0;
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    qsort(arr, n, sizeof(int), compare);
    d = arr[1] - arr[0];
    for (i = 1; i < n - 1; i++)
    {
        d = min(arr[i + 1] - arr[i], d);
    }
    if (d == 0)
        printf("%d", n);
    else
        printf("%d", ((arr[n - 1] - arr[0]) / d) + 1);
    return 0;
}


程序输出结果验证: 😊

在这里插入图片描述

总结撒花💞

   本篇文章旨在分享【C语言蓝桥杯每日一题】——等差数列。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/5287.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

让ChatGPT帮我写shell脚本, 结局很感人

七问ChatGPT, 剑指shell脚本编写 step1: 初问step2: 再问step3: 三问step4: 四问step5: 五问step6: 问个derstep7: 解决问题step8: 小问一下关于ChatGPT思考昨天浏览一篇关于脚本的技术文章的时候, 偶然看见一篇文章中写道关于mysql备份的脚本. 但是这个脚本时基于本地的MySQL服…

Idea+maven+spring-cloud项目搭建系列--13 整合MyBatis-Plus多数据源dynamic-datasource

前言&#xff1a;对于同一个系统&#xff0c;不同的租户需要自己独立分隔的数据库&#xff08;每个数据库的表结构可以是相同的&#xff09;&#xff0c;同时也要支持跨数据源的查询&#xff1b;并且支持分布式事务&#xff0c;如果这里不使用分库分表插件&#xff0c;需要怎样…

使用dd复制将乌班图系统(Ubuntu22.04)完整迁移到新硬盘并扩容

我的折磨历程 开始的时候用乌班图的时候&#xff0c;不懂事&#xff0c;根目录太小了&#xff0c;后来就满了&#xff0c;就就感觉完全没法用&#xff0c;看着现在硬盘贼便宜&#xff0c;去狗东买了个新的硬盘。感觉挂载硬盘并不能解决我的问题&#xff0c;最后选择了保留系统数…

ython和PyTorch实现ChatGPT批量AI智能写作

怎么实现用chatgpt批量写作 ChatGPT是一种针对文本生成的自然语言处理工具&#xff0c;它可以用于生成大量的文本内容。但是&#xff0c;由于ChatGPT需要的计算资源较大&#xff0c;处理时间较长&#xff0c;因此在批量写作时需要考虑花费的时间和资源。 以下是一些步骤&…

又一个免费GPT-4工具 Cursor,程序员写代码将被颠覆

每天都被openai震撼到&#xff0c; 他们家被广为人知的产品是chatgpt&#xff0c;就是那个聊天工具。现在已经开始有越来越多的产品集成openai&#xff0c;比如微软的office&#xff0c;bing。现在又一个工具出现&#xff0c;一个叫Cursor的编辑器已经集成了openai的GPT-4&…

Spring系列(六) --- SpringBoot 与 Servlet 的比较及 Spring 读取配置文件的方式

SpringSpringBoot VS ServletSpring 读取配置文件的方式yml 和 properties 的区别SpringBoot VS Servlet Spring 读取配置文件的方式 1 Value 注解获取单个配置项 如在 yml 中定义一个 qq 音乐的 token; 然后输出, 如下: 2 针对对象的读取: ConfigurationProperties 在 yml 中…

YOLOv5添加辅助训练头

1. 介绍 思路 添加 Aux head 的主要原因是让网络中间层学到更多信息,有更丰富的梯度信息帮助训练。这里要注意,好的梯度信息能够让相同参数量的网络学的更好。 作者原文为: By letting the shallower auxiliary head directly learn the information that lead head has l…

【C#基础】泛型的概念?有什么例子?在游戏中有什么可以使用的地方?

概念 让chatGpt来为我们讲解。 在C#中&#xff0c;泛型是一种允许开发人员编写可重用代码&#xff0c;可以处理多种数据类型的特性。 使用泛型&#xff0c;可以创建类、方法、接口和委托这种不属于任何特定数据的类型&#xff0c;但可以处理满足某些约束条件的任何数据类型。…

手机银行评测系列:北京银行“京彩生活”7.0从用户视角出发,实现沉浸式体验重塑

易观&#xff1a;2023年3月28日&#xff0c;北京银行发布“京彩生活”APP 7.0版本&#xff0c;从旅程再造、特色金融、场景生态、平台联动、协同经营、体验管理和安全守护七大方面全面升级&#xff0c;从用户视角出发&#xff0c;重塑用户旅程&#xff0c;简化操作流程&#xf…

PDF Extra(安卓)

首先&#xff0c;软件是一个一体化的扫描仪和编辑器&#xff0c;工具主要包含有编辑&#xff0c;创建&#xff0c;转换&#xff0c;阅读和查看&#xff0c;其它等等多个功能类型。 编辑里面包含有编辑文本和图像&#xff0c;填写并签署&#xff0c;组织页面&#xff0c;压缩&am…

PLG 基础概念和关键点

什么是 PLGPLG 是 Product Led Growth 的缩写&#xff0c;常翻译为产品增长或产品主导型增长。这个概念最早是风投公司 OpenView 2016年提出的。定义&#xff1a;PLG 是一个聚焦终端用户的增长模型&#xff0c;依赖于产品自身作为获取、转化、扩展客户的核心动力。• 以产品来驱…

入行软件测试7年,才知道原来字节跳动这么容易进

当前就业环境&#xff0c;裁员、失业消息满天飞&#xff0c;好像有一份工作就不错了&#xff0c;更别说高薪了。其实这只是一方面&#xff0c;而另一方面&#xff0c;各大企业依然求贤若渴&#xff0c;高技术人才依然紧缺&#xff0c;只要你技术过硬&#xff0c;拿个年薪50w不是…

vue3快速上手

Vue3快速上手 1.Vue3简介 2020年9月18日&#xff0c;Vue.js发布3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;海贼王&#xff09;耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址&#xff1a;https://github.com/vuejs/vue-next/release…

核心 Android 调节音量的过程

核心 Android 系统提供的调节音量的方法 核心 Android 系统提供了多种调节音量的方法&#xff0c;这些方法主要包括如下这些。 如在 Android Automotive 调节音量的过程 中我们看到的&#xff0c;CarAudioService 最终在 CarAudioDeviceInfo 中 (packages/services/Car/servi…

开源DataX集成可视化项目Datax-Web的使用

上一篇文章我们已经搭建好了 Datax-Web 后台&#xff0c;这篇文章我们具体讲一下如何通过Datax-Web来配置&#xff0c;同步MySQL数据库。 目标 MySql数据库全量同步 1.执行器配置 1、"调度中心OnLine:"右侧显示在线的"调度中心"列表, 任务执行结束后, 将会…

红黑树、B树以及B+树及应用

目录 一.二叉查找树(二叉搜索树&#xff0c;BST) 1.1查找操作 1.2插入操作 1.3删除操作 1.4支持重复数据的二叉查找树 1.5二叉查找树的性能分析 二.平衡二叉查找树 2.1定义 2.2红黑树 2.3为什么红黑树这么受欢迎 三.哈希表为什么不能替代二叉查找树 四.MySQL数据库索…

基于springboot实现学生综合成绩测评系统【源码】分享

基于springboot实现学生综合成绩测评系统演示开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包…

机器学习模型部署PMML

PMML 简介 预测模型标记语言PMML&#xff08;Predictive Model Markup Language&#xff09;是一套与平台和环境无关的模型表示语言&#xff0c;是目前表示机器学习模型的实际标准。从2001年发布的PMML1.1&#xff0c;到2019年最新4.4&#xff0c;PMML标准已经由最初的6个模型…

python+vue高校教务选课管理系统django

1. 简介&#xff1a;学生选课系统是学校管理中不可缺少的一部分&#xff0c;它将方便教师发布课程信息、学生浏览课程信息和选课&#xff0c;为两者提供充分的课程信息和方便的查询手段&#xff0c;极大的提高人事劳资管理的效率。 2. 功能&#xff1a;实现基于B/S架构学…

使用SpringBoot+JWT+MybatisPlus实现简单的登陆状态验证

文章目录前言一、JWT是什么&#xff1f;二、使用步骤1.创建项目&#xff0c;导入依赖&#xff0c;配置、引入工具类2.编写LoginController和UserController3.编写跨域拦截器和token验证拦截器4.全局拦截器配置三、业务逻辑四、测试总结前言 登陆功能是每个系统的最基本功能&am…
最新文章