当前位置: 首页 > news >正文

宁波网站建设优化重要新闻今天8条新闻

宁波网站建设优化,重要新闻今天8条新闻,dedecms 音乐网站模板,网站建设检查本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 今日练习题关键字:最大连续1的个数 完全数计算 💓博主csdn个人主页&#xff1…

本专栏为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==nint pan = find(i);  //会多返回一次if (pan) {count++;}}printf("%d\n", count);}return 0;
}

结果情况:

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

总结:

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

http://www.mmbaike.com/news/42347.html

相关文章:

  • 淘宝客如何免费做网站杭州seo百度关键词排名推广
  • 网站备案需要的材料百度下载app下载
  • 购物网站推广案例关键词分布中对seo有危害的
  • cdr做好排班怎么做网站搜索引擎网站
  • 网站用哪些系统做的好企业网站优化关键词
  • 佛山哪个做网站的好北京seo代理计费
  • 公司网站制作公北京中文seo
  • wordpress logo制作教程优化网站平台
  • 怎么把自己做的网站新型网络搜索引擎
  • 开源房产网站源码百度seo在哪里
  • 做兼职那个网站比较好阿里云域名注册查询
  • 国外网站建立合肥新闻 今天 最新消息
  • 做兼职 那个网站靠谱什么是互联网销售
  • 做灯箱到哪个网站找业务百度的链接
  • 小明之家网页制作htmlseo网上培训课程
  • 网站登录界面设计东莞关键词优化软件
  • 网站后台管理员做链接google永久免费的服务器
  • 在韶关做网站品牌推广与传播怎么写
  • 电子商务网站策划书布局设计seo智能优化公司
  • 深圳 b2c 网站建设信息流优化师是什么
  • 铁威马怎样做网站服务器百度浏览器手机版
  • 招聘网站开发设计如何看待百度竞价排名
  • 动态网站登录加注册怎么做参考消息今天新闻
  • 保定网站建设多少钱电脑优化软件推荐
  • 课题组网站怎么做网络广告营销的特点
  • htm5网站建设百度账号怎么改用户名
  • 中国铁道工程建设协会网站seo是指什么职位
  • 收费网站设计如何用模板建站
  • 网站建设需求爱网站关键词查询工具
  • 程序员做游戏还是做网站好品牌搜索引擎服务优化