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

《算法通关指南之C++编程篇(5)----- 条件判断与循环(下)》

《151道题带你快速梳理C++知识(3)-- 条件判断与循环(下)》


在这里插入图片描述

🔥小龙报:个人主页
🎬作者简介:C++研发,嵌入式,机器人方向学习者
❄️个人专栏:《C语言》《算法》KelpBar海带Linux智慧屏项目

永远相信美好的事情即将发生

在这里插入图片描述

前言

本专栏聚焦算法题实战,系统讲解算法模块:以《c++编程》,《数据结构和算法》《基础算法》《算法实战》 等几个板块以题带点,讲解思路与代码实现,帮助大家快速提升代码能力
ps:本章节题目分两部分,比较基础笔者只附上代码供大家参考,其他的笔者会附上自己的思考和讲解,希望和大家一起努力见证自己的算法成长


一、 含k个3 的数

1.1题目链接 含k个3 的数

1.2题目解析

在这里插入图片描述
代码:

#include <iostream>
using namespace std;
typedef long long LL;
LL m,k;int main()
{cin >> m >> k;int ret = 0;while (m){if (m % 10 == 3)ret++;m /= 10;}if (ret == k)cout << "YES" << endl;elsecout << "NO" << endl;return 0;
}

二、角谷猜想

2.1题目链接 : 角谷猜想

2.2题目解析

在这里插入图片描述
代码:

#include <iostream>
using namespace std;int main()
{long long n;scanf("%lld", &n);while (n != 1){if (n % 2 != 0){printf("%lld*3+1=%lld\n", n,n * 3 + 1);n = n * 3 + 1;}else if(n % 2 == 0){printf("%lld/2=%lld\n", n, n / 2);n /= 2;}}printf("End\n");return 0;
}

三、计算1~100之间3的倍数的数字之和

3.1题目链接:无

3.2题目解析

法一:

#include <iostream>
using namespace std;int main()
{int sum = 0;for (int i = 1; i <= 100; i++){if (i % 3 == 0)sum += i;}cout << sum << endl;return 0;
}

法二:

#include <iostream>
using namespace std;int main()
{int sum = 0;for (int i = 3; i <= 100; i += 3)sum += i;cout << sum << endl;return 0;
}

四、平均年龄

4.1题目链接:平均年龄

4.2题目解析

在这里插入图片描述
代码:

#include <iostream>
using namespace std;
int main()
{int n;cin >> n;int sum = 0;for (int i = 1; i <= n; i++){int x;cin >> x;sum += x;}double ret = sum * 1.0 / n;printf("%.2lf", ret);return 0;
}

五、奥运奖牌计数

5.1题目链接:奥运奖牌计数

5.2题目解析

在这里插入图片描述
代码:

#include<iostream>
using namespace std;
int main()
{int n;cin >> n;int a,b,c;int sum_a = 0;int sum_b = 0;int sum_c = 0;int sum = 0;for(int i = 0;i < n;i++){cin >> a >> b >> c;sum_a += a;sum_b += b;sum_c += c;}sum = sum_a + sum_b + sum_c;cout << sum_a << " " << sum_b << " " << sum_c << " " << sum;return 0;
}

六、鸡尾酒疗法

6.1题目链接:鸡尾酒疗法

6.2题目解析

在这里插入图片描述
代码:

#include <iostream>
using namespace std;
int n;
int main()
{cin >> n;int a,b;cin >> a >> b;double x = (b * 1.0 / a) * 100;for (int i = 1; i < n; i++){cin >> a >> b;double y = (b * 1.0 / a) * 100;if (y - x > 5)cout << "better" << endl;else if (x - y > 5)cout << "worse" << endl;elsecout << "same" << endl;}return 0;
}

注:这道题要把握住两个相差,第二个if也可以使用绝对值函数abs(y - x)不能直接y - x否则会造成same和worse两个的判度的逻辑错误

七、计算分数加减表达式的值

7.1题目链接:计算分数加减表达式的值

7.2题目解析

在这里插入图片描述

代码:

#include <iostream>
using namespace std;int main()
{int n;cin >> n;double s  = 0;int fact = 1;for (int i = 1; i <= n; i++){s += 1.0 / i * fact;fact *= -1;}printf("%.4lf", s);return 0;
}

八、求分数序列和

8.1题目链接:求分数序列和

8.2题目解析

在这里插入图片描述

代码:

#include <iostream>
using namespace std;int main()
{int n;cin >> n;int p = 1;int q = 2;double sum = 0;for (int i = 1; i <= n; i++){sum += (q * 1.0/ p);q = q + p;p = q - p;}printf("%.4lf", sum);return 0;
}

九、输入个正整数,计算这个整数是⼏位数

9.1题目链接:无

9.2题目解析

#include <iostream>
using namespace std;int main()
{int n;cin >> n;int ans = 0;do{ans++;n /= 10;} while (n);cout << ans << endl;return 0;
}

总结 ---- 每日励志时刻

在这里插入图片描述

http://www.dtcms.com/a/520753.html

相关文章:

  • DarkZero
  • python 网站开发怎么部署龙岩有什么招聘本地网站
  • 上海兼职做网站淘宝友情链接怎么设置
  • 【Linux系统编程】程序替换:execve(execl、execlp、execle、execv、execvp、execvpe)
  • 西安市城乡房地产建设管理局网站wordpress国外主题修改
  • 巨鹿网站建设网络公司云南住房和建设厅网站
  • 前端八股文 | HTTP - 实时通信方式/前后端通信方式
  • 谈一谈ViewDragHelper的工作原理?
  • Flutter框架机制详解
  • 火山引擎推出Data Agent评测体系,并发布《2025数据智能体实践指南》
  • SpringBoot-Web开发之异常处理
  • wap网站和app的区别php网站后台建设
  • 舞阳网站建设如何引流被动加好友
  • js wordpress 菜单管理如何给网站做seo优化
  • Nginx server_name 配置详解
  • 做宣传网站网页制作素材去哪找
  • 百度地图网站开发wordpress会员权限
  • 微硕WSF2040 N沟MOSFET:汽车电动尾门“防夹升降核”
  • 网站建设投标书报价表建设电子商务网站的好处
  • 网站建设与开发教学大纲全网商机app招标
  • Less-4 GET-Error based-Double Quotes-String
  • 互斥锁、读写锁、ref()函数使用
  • 2.6、Web漏洞挖掘实战(下):XSS、文件上传与逻辑漏洞深度解析
  • 邢台做网站的公司有那个营销型网站建设营销型
  • 青岛住房和城乡建设厅网站首页iis7.0 asp网站配置
  • vue3表格显示隐藏列全屏拖动功能
  • Git Commit Message 规范:写出清晰、可维护的提交记录
  • Orleans + Kubernetes + Istio 服务网格集成深度解析
  • 51网站怎么打开注册城乡规划师有什么用
  • 相向指针|盛最多水的容器|接雨水|验证回文串