C语言每日一练----Day(12)

news2024/9/24 9:20:12

本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。

今日练习题关键字:最大连续1的个数 完全数计算

在这里插入图片描述

💓博主csdn个人主页:小小unicorn
⏩专栏分类:C语言天天练
🚚代码仓库:小小unicorn的代码仓库🚚
🌹🌹🌹关注我带你学习编程知识

Day1

  • 题目一:
    • 题目描述:
    • 解题思路:
    • 代码实现
    • 结果情况:
  • 题目二:
    • 题目描述:
    • 解题思路:
    • 代码实现:
    • 结果情况:
  • 总结:

题目一:

题目描述:

给定一个二进制数组 nums , 计算其中最大连续 1 的个数。

在这里插入图片描述

解题思路:

为了得到数组中最大连续 1 的个数,需要遍历数组,并记录最大的连续 1 的个数和当前的连续 1 的个数。如果当前元素是 1,则将当前的连续 1 的个数加 1,否则,使用之前的连续 1 的个数更新最大的连续 1的个数,并将当前的连续 1 的个数清零。

遍历数组结束之后,需要再次使用当前的连续 1 的个数更新最大的连续 1 的个数,因为数组的最后一个元素可能是 1,且最长连续 1 的子数组可能出现在数组的末尾,如果遍历数组结束之后不更新最大的连续 1 的个数,则会导致结果错误。

代码实现

int findMaxConsecutiveOnes(int* nums, int numsSize) 
{
    int maxCount = 0, count = 0;
    for (int i = 0; i < numsSize; i++) 
    {
        if (nums[i] == 1) 
        {
            count++;
        } 
        else 
        {
            maxCount = fmax(maxCount, count);
            count = 0;
        }
    }
    maxCount = fmax(maxCount, count);
    return maxCount;
}

结果情况:

在这里插入图片描述
符合题目要求,问题得到解决。

题目二:

题目描述:

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。
它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。

例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。
输入n,请输出n以内(含n)完全数的个数。

解题思路:

我们只需要从1开始把所有可以整除n的约数全部加起来即可

  • 约数就是能够被数字整除,而这里简化的一个思路是数字能够被整除,则除数和结果就都是约数,这种思路下,只需
    要从1计算到平方根即可,为何是平方根看下面即可
    比如:数字 8 , 能够整除 2 ,结果是 4 ,则除数 2 和结果 4 都是约数,而这两个只需要一次计算判断即可。
    需要注意的是 4,9,25… 这种,除数和结果相同的情况,则除数或者结果只相加一次就够了

代码实现:

#include<stdio.h>
#include<math.h>
int find(int n) 
{
    int sum = 1;                  //因为i从2开始把1跳过了,所以sum等于1加回来
    int i = 0;

    //这里为何可以开平方根呢? sqrt(n)
    //因为n被1到n-1之间任一整数整除时,两个因子有一个必定小于或等于 根号n
    //                                 另一个大于或等于根号n
    //例如16能被2,4,8整除,16=2*8,2小于4,8大于4,因此只需要判定1到根号n有无因子即可

    for (i = 2; i <= sqrt(n);i++) 
    { //这里i没有等于1是因为题目说除了自身以外的约数
        if (n % i == 0) 
        {
            //是否为约数
            sum += i;
            int m = n / i;
            if (i != sqrt(n)) 
            {
                //例如9=3x3,这是防止重复的数加进来
                sum += m;
            }
        }
    }
    if (sum == n) 
    {
        return 1;
    } 
    else 
    {
        return 0;
    }
}
int main() 
{
    int n = 0;
    while (scanf("%d", &n) != EOF) 
    {
        int i = 0;
        int count = 0;   //计数
        for (i = 2; i <= n;i++) 
        { //对n以内的数字都进行判断是否是完全数,注意1不参与判断
            //原因是上面sum初始化成1了,如果i等于1的话85行代码sum==n
            int pan = find(i);  //会多返回一次
            if (pan) {
                count++;
            }
        }
        printf("%d\n", count);
    }
    return 0;
}

结果情况:

在这里插入图片描述
符合题目要求,问题得到解决。

总结:

文章到这里就要告一段落了,有更好的想法或问题,欢迎评论区留言。
希望今天的练习能对您有所收获,咱们下期见!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python数据分析案例30——中国高票房电影分析(爬虫获取数据及分析可视化全流程)

案例背景 最近总看到《消失的她》票房多少多少&#xff0c;《孤注一掷》票房又破了多少多少..... 于是我就想自己爬虫一下获取中国高票房的电影数据&#xff0c;然后分析一下。 数据来源于淘票票&#xff1a;影片总票房排行榜 (maoyan.com) 爬它就行。 代码实现 首先爬虫获…

【css】z-index与层叠上下文

z-index属性用来设置元素的堆叠顺序&#xff0c;使用z-index有一个大的前提&#xff1a;z-index所作用元素的样式列表中必须有position属性并且属性值为absolute、relative或fixed中的一个&#xff0c;否则z-index无效。 层叠上下文 MDN讲解 我们给元素设置的z-index都是有一…

selenium中定位shadow-root,以及获取shadow-root内部的数据

通过shadow-root的父级定位到shadow-root,再通过语句进行操作 两种方法&#xff1a; 第一种&#xff0c;Python种JS实现 第二种&#xff0c;selenium实现 1.0 案例网站 参考某橘色网站 2.0 js语句定位 可在控制台进行测试 测试语句 document.querySelector("ali-ba…

猫头虎博主解析:Spring中的“Unknown return value type: java.lang.Boolean“问题

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

纽扣电池做CE认证 需要的介绍 EMC检测、RED检测和LVD检测

认证需要测试什么项目 1、EMC检测项目:传导骚扰、辐射骚扰、静电放电抗扰度、射频电磁场辐射抗扰度、电快速瞬变脉)冲群抗扰度、浪涌(冲击)抗扰度、射频场感应的传导抗扰度、工频磁场抗扰度、电压暂降、短时中断和电压变化抗扰度、谐波电流、电压波动和闪烁。 2、LVD检测项目:…

Laf 中大猫谱:让每一只流浪猫都有家

猫谱简介 中大猫谱是一款辅助校园流浪猫救助的开源小程序项目&#xff0c;服务端使用 Laf 云开发。 猫谱主要功能包括&#xff1a;猫咪信息登记、照片分享、拍照识猫、公告和留言等。项目创立的初衷&#xff0c;是解决校园猫猫交流群里的一个常见问题&#xff1a;问猫猫是谁。…

NLP模型(五)——Transformer模型介绍

文章目录 1. Transformer结构2. Encoder结构2.1 Transformer输入2.2 相对位置编码2.3 Self-Attention2.4 Multi-Head Attention2.5 Encoder 整体 3. Decoder结构3.1 带Mask的Multi-Head Attention3.2 Multi-Head Attention 4. 预测层 1. Transformer结构 Transformer的结构如下…

go锁--读写锁

每个锁分为读锁和写锁&#xff0c;写锁互斥 没有加写锁时&#xff0c;多个协程都可以加读锁 加了写锁时&#xff0c;无法加读锁&#xff0c;读协程排队等待 加了读锁&#xff0c;写锁排队等待 w:互斥锁作为写锁 writerSem:作为写协程队列 readerSem:作为读协程队列 readerCoun…

Linkedin营销小技巧,开发客户必看

众所周知&#xff0c;Linkedin是发展业务、拓展人脉的好地方&#xff0c;在过去的一年里&#xff0c;93%的B2B营销人员最常使用该平台来有机分发内容。Linkedin也因为能产生较好的营销效果而成为跨境业务开发的选择平台。 有些企业可以使用Linkedin向潜在用户进行营销和接触&a…

Leetcode1006笨阶乘

思路&#xff1a;以4为一个分组分别进行处理 class Solution:def clumsy(self, n: int) -> int:answer_dict {0:0,1: 1, 2: 2, 3: 6, 4: 7}if n > 4:answer n * (n - 1) // (n - 2) n - 3n - 4else:print(answer_dict[n])return answer_dict[n]print(answer)while n …

2023年京东方便食品行业数据分析(京东数据报告)

​疫情中方便食品的销售一度火爆&#xff0c;但随着当前消费场景的开放&#xff0c;方便食品销售又恢复常态并开始下滑。根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;今年7月份&#xff0c;京东平台方便食品的销量为800万&#xff0c;环比降低约23%&#xff0c;同比降…

基于Spring Boot的人才公寓管理系统设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于Spring Boot的人才公寓管理系统设计与实现&#xff08;Javaspring bootMySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java spring…

【Vue3 知识第四讲】数据双向绑定、事件绑定、事件修饰符详解

文章目录 一、数据双向绑定二、事件绑定详解2.1 **Vue中的事件绑定指令**2.2 **事件函数的调用方式**2.3 **事件函数参数传递** 三、事件修饰符3.1 **Vue中常用的事件修饰符**3.2 **按键修饰符** 四、属性绑定五、类与样式的绑定5.1 class 类的绑定5.2 style 样式绑定 一、数据…

数据库知识3

DML 语言 SQL 语言 DDL语言 数据库定义语言 创 create 改 alter 删 dropDML语言 数据库操作语言 对表中的数据进行操做 增 insert 删 delete 改 update insert 插入操作 格式1: insert into 表名(列名1&#xff0c;列名2&#xff0c;…) values(values1&#xff0c;values2&…

【全国大学生IoT设计竞赛】安谋科技赛题三等奖分享:灵飞云卫——基于MM32F5的IOT智慧门禁系统

本文参加极术社区和灵动微电子组织的【有奖征集】分享作品传播技术成果&#xff0c;更有奖品等你来领&#xff01;线上征集活动。 2023年全国大学生物联网设计竞赛已经落下帷幕&#xff0c;下面将为大家分享我们的作品。 团队介绍 参赛单位&#xff1a;河海大学 队伍名称&…

图 Graph

关键词&#xff1a;图、邻接矩阵、邻接表、广度优先搜索、最短路径、深度优先搜索、拓扑排序、最小生成树、单源最短路径、Dijkstra算法、 图的表示 图的两种表示方法&#xff1a;邻接矩阵表示和邻接表表示。 图的广度优先搜索 可处理无向图或有向图 从起始顶点s出发的广度优…

群晖NAS:DS Video、Jellyfin等视频电影电视剧海报、背景墙搜刮器

群晖NAS&#xff1a;DS Video、Jellyfin等视频电影电视剧海报、背景墙搜刮器 本文只使用豆瓣插件方式&#xff0c;系统默认的 The Movie Database 好注册&#xff0c;但是授权码输入后域名不通过&#xff0c;很麻烦。 1、插件地址&#xff1a; https://www.aliyundrive.com/s…

visual studio编写DLL,python调用

选择第一个c DLL&#xff0c; 然后项目源文件下右击新建项&#xff0c;这里名字随便取&#xff0c;在代码中输入一下内容&#xff1a; #include <iostream>#define EXPORT extern "C" __declspec(dllexport)EXPORT int sub(int a, int b) {return a - b; } 在…

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题 文章目录 虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题前言全局坐标系转体坐标系速度设置X轴方向的体坐标系速度设置Y轴方向的体坐标系速度XY轴体坐标系速度整合 Z轴速度的进一步设置解决办法 小结 前言 利…

图扑软件 | 参展用友 2023 全球商业创新大会

2023 年 8 月 18 日&#xff0c;以“数据驱动&#xff0c;智能运营”为主题的用友 2023 全球商业创新大会&#xff0c;在上海国家会展中心圆满举行。此次大会旨在汇聚全球商业智慧&#xff0c;用数智化创新客户价值、释放企业潜能&#xff0c;助力更多的企业成为数智企业。 图…