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

这篇具有很好参考价值的文章主要介绍了【C语言蓝桥杯每日一题】——等差数列。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


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

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

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
【C语言蓝桥杯每日一题】——等差数列

前言🙌

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

等差数列🙌

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

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

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

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

这个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语言蓝桥杯每日一题】——等差数列

总结撒花💞

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

到了这里,关于【C语言蓝桥杯每日一题】——等差数列的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【动态规划刷题 12】等差数列划分&& 最长湍流子数组

    链接: 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1: 输入: s = “leetcode”, wordDict = [“leet”, “code”] 输出: t

    2024年02月09日
    浏览(29)
  • 【动态规划】C++算法:446等差数列划分 II - 子序列

    视频算法专题 动态规划汇总 给你一个整数数组 nums ,返回 nums 中所有 等差子序列 的数目。 如果一个序列中 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该序列为等差序列。 例如,[1, 3, 5, 7, 9]、[7, 7, 7, 7] 和 [3, -1, -5, -9] 都是等差序列。 再例如,[1, 1, 2, 5, 7] 不是

    2024年02月03日
    浏览(30)
  • 华为OD机试真题 Java 实现【等差数列】【2023 B卷 100分】,附详细解题思路

    本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。 刷的越多,抽中的概率越大 ,每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。 专栏福利 :限时订

    2024年02月16日
    浏览(51)
  • 【C语言蓝桥杯每日一题】——排列字母

    TOC     😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主! 😘博主小留言:哈喽! 😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话

    2023年04月09日
    浏览(38)
  • (动态规划) 剑指 Offer 10- I. 斐波那契数列 ——【Leetcode每日一题】

    难度:简单 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N) )。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计

    2024年02月12日
    浏览(46)
  • 蓝桥杯每日一题----货物摆放

    上来一看,三个for循环,从1到n,寻找满足l w h=n的个数,但是这样根本跑不出来答案,n太大了,1e15的级别,O(n)的时间复杂度都不行,更何况是O(n^3)。 尝试降低时间复杂度很难,可以尝试降低数据规模。 插入理论:影响代码运行时间的两个因素算法时间复杂度和数据规

    2024年01月21日
    浏览(32)
  • (蓝桥杯每日一题)love

    问题描述 马上就要到七夕情人节了,小蓝在这天想要心爱得男神表白,于是她写下了一个长度为n仅由小写字母组成的字符串。 她想要使这个字符串有 1314个 love 子序列但是马虎的小蓝却忘记了当前已经有多少个子序列为 love。 请你帮小蓝计算出当前字符串有多少个子序列为

    2024年01月21日
    浏览(37)
  • (蓝桥杯每日一题)字符串排序

    本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝要把一个字符串中的字母按其在字母表中的顺序排列 例如,LANQIAO 排列后为AAILNOQ 又如, GOODGOODSTUDYDAYDAYUP 排后为AADDDDDGGOOOOPSTUUYYY 请问对于以下字符串,排列之后字符串是什么? WHERETHEREISA

    2024年01月21日
    浏览(30)
  • 【蓝桥杯集训·每日一题】AcWing 3305. 作物杂交

    3305. 作物杂交 作物杂交是作物栽培中重要的一步。 已知有 N 种作物 (编号 1 至 N),第 i 种作物从播种到成熟的时间为 Ti。 作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。 如作物 A 种植时间为 5 天,作物 B 种植时间为 7 天,则 AB 杂交花费的时间为 7 天。 作

    2023年04月13日
    浏览(47)
  • 蓝桥杯每日一题----单调栈和单调队列

    单调栈即栈内的元素是单调递减或者单调递增的,我们通过一个题目来理解。 单调栈模板题 题目描述 给出项数为 n 的整数数列 a 1 … a n a_1…a_n a 1 ​ … a n ​ 。 定义函数 f ( i ) f(i) f ( i ) 代表数列中第 i 个元素之后第一个大于 a i a_i a i ​ 的元素的下标,即 f ( i ) = m i n i

    2024年02月19日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包