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

怎么把网站做漂亮如何装修设计自己的房子

怎么把网站做漂亮,如何装修设计自己的房子,医疗知识普及网站开发,wordpress增加字段博客主页#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 #x1f4af;前言#x1f4af;题目描述输入格式输出格式输入输出样例输入#xff1a;输出#xff1a; #x1f4af;解题思路分析题目解题步骤 #x1f4af;代码实现我的代码实现实现特点 老师的代码… 博客主页 [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 前言题目描述输入格式输出格式输入输出样例输入输出 解题思路分析题目解题步骤 代码实现我的代码实现实现特点 老师的代码实现实现特点优点缺点 对比分析优化方案改进点 小结 前言 本篇文章将详细解析洛谷B2069题“求分数列和”的解题过程包括题目的详细描述、解题思路、不同代码实现方案的比较与优化以及对相关概念的深入拓展。文章的目标是帮助读者全面掌握此类题目的解法并提升在C编程中的逻辑分析与代码优化能力。 C 参考手册 题目描述 B2069 求分数序列和 有一个分数序列 q 1 p 1 , q 2 p 2 , q 3 p 3 , q 4 p 4 , ⋯ \frac{q_1}{p_1}, \frac{q_2}{p_2}, \frac{q_3}{p_3}, \frac{q_4}{p_4}, \cdots p1​q1​​,p2​q2​​,p3​q3​​,p4​q4​​,⋯ 其中满足递推关系 q i 1 q i p i q_{i1} q_i p_i qi1​qi​pi​ p i 1 q i p_{i1} q_i pi1​qi​初始值 q 1 2 q_1 2 q1​2, p 1 1 p_1 1 p1​1。 例如前6项依次为 2 1 , 3 2 , 5 3 , 8 5 , 13 8 , 21 13 \frac{2}{1}, \frac{3}{2}, \frac{5}{3}, \frac{8}{5}, \frac{13}{8}, \frac{21}{13} 12​,23​,35​,58​,813​,1321​ 任务是计算分数序列前 n n n 项的和。结果保留4位小数。 输入格式 输入一行包含一个正整数 n n n n ≤ 30 n \leq 30 n≤30。 输出格式 输出一行浮点数表示分数序列前 n n n 项之和精确到小数点后4位。 输入输出样例 输入 2输出 3.5000解题思路 分析题目 递推关系 序列的分子和分母满足递推关系 q i 1 q i p i q_{i1} q_i p_i qi1​qi​pi​ p i 1 q i p_{i1} q_i pi1​qi​初始条件为 q 1 2 q_1 2 q1​2, p 1 1 p_1 1 p1​1。 目标 计算前 n n n 项的分数和 sum q 1 p 1 q 2 p 2 ⋯ q n p n \text{sum} \frac{q_1}{p_1} \frac{q_2}{p_2} \cdots \frac{q_n}{p_n} sump1​q1​​p2​q2​​⋯pn​qn​​ 数据范围 n ≤ 30 n \leq 30 n≤30意味着序列递推和累加的规模较小可以采用简单的迭代方式解决。 精度要求 输出结果保留小数点后4位。 解题步骤 初始化变量 定义两个变量分别表示分子 q q q 和分母 p p p。定义一个变量 s u m sum sum 用于累加结果。 递推计算 根据公式更新 q q q 和 p p p。累加当前项的分数值 q p \frac{q}{p} pq​。 输出结果 使用浮点数输出保留小数点后4位。 代码实现 我的代码实现 以下是我的代码实现 #include iostream #include cstdio using namespace std;int main() {double sum 0; // 累加和双精度浮点数int n 0, temp 0;int z 2, m 1; // 初始化分子和分母cin n;for (int i 0; i n; i) {sum z * 1.0 / m; // 累加当前项temp z; // 暂存当前分子z z m; // 计算新的分子m temp; // 更新分母为旧的分子}printf(%.4lf, sum); // 输出结果保留 4 位小数return 0; }实现特点 变量设计 使用 z 表示当前分子m 表示当前分母。使用 temp 保存中间变量避免覆盖数据。 核心递推逻辑 q i 1 q i p i q_{i1} q_i p_i qi1​qi​pi​ 用 z z m 实现。 p i 1 q i p_{i1} q_i pi1​qi​ 用 m temp 实现。 浮点数计算 显式将 z / m 转换为浮点数计算确保精度。 结果输出 使用 printf 保留4位小数。 老师的代码实现 以下是老师给出的代码实现 #include iostream #include cstdio // 用于 printf using namespace std;int main() {int n 0;cin n;float sum 0; // 累加和浮点类型float q 2; // 初始化分子 qfloat p 1; // 初始化分母 pfor (int i 0; i n; i) {sum q / p; // 累加当前项q q p; // 计算新的 qp q - p; // 计算新的 p}printf(%.4f\n, sum); // 输出结果保留 4 位小数return 0; }实现特点 变量优化 直接使用 float 类型计算避免临时变量。 核心递推逻辑 使用 q q p 和 p q - p 通过数学公式简化更新。 结果输出 同样使用 printf 保留4位小数。 优点 代码简洁 变量数量少通过数学公式避免了中间变量。 逻辑紧凑 更新 p 的方式非常简练体现了数学上的优化。 缺点 可读性较差 p q - p 的逻辑不够直观对初学者不够友好。 精度问题 使用 float 类型可能导致精度不足。 对比分析 对比点我的代码老师的代码变量数量多一个临时变量 temp仅用两个变量 q 和 p代码可读性逻辑清晰易于理解数学简化逻辑不直观浮点精度使用 double精度更高使用 float精度稍低内存使用稍高多用了一个变量更低只用了必要的变量实现复杂度适中易于实现和调试较低但对理解有一定要求 优化方案 结合两者的优点我们可以进一步优化代码 #include iostream #include iomanip // 用于控制输出精度 using namespace std;int main() {int n;cin n;double sum 0.0; // 使用 double 提高精度int q 2, p 1; // 分子和分母初始化for (int i 0; i n; i) {sum static_castdouble(q) / p; // 显式类型转换q q p; // 直接更新分子p q - p; // 通过差值更新分母}cout fixed setprecision(4) sum endl; // 使用现代化流输出return 0; }改进点 精度提升 使用 double 类型以提高浮点运算的精度。 代码简化 去掉了临时变量简化逻辑。 现代化风格 使用 cout 和 setprecision 替代 printf更符合 C 标准。 小结 本题主要考察递推关系的理解与实现能力同时对浮点数精度控制和代码优化提出了要求。在解题过程中我们需要 明确数列的递推关系。合理设计变量以实现递推计算。结合题目需求选择合适的浮点类型与输出方式。 通过对不同代码实现方案的比较与优化我们不仅学会了更高效的解题方法还理解了代码设计中的权衡取舍。希望本文能为读者提供帮助在未来的编程学习中取得更大的进步
http://www.w-s-a.com/news/500769/

相关文章:

  • 做简单网站的框架图中小微企业查询平台
  • 哪些网站可以免费做产品推广建设建设部网站
  • 网站开发销售怎么做django做网站
  • 淘宝客网站做百度竞价万网域名怎么绑定网站
  • 建设网站找哪个公司北京知名大公司有哪些
  • 专业彩票网站开发网站流量在哪设置
  • 网站建设对应的岗位榆林做网站公司
  • 网站建设公司怎么算专业js网站分页怎么做
  • 网和网站的区别phpcms和帝国cms哪个好
  • wordpress改网站名字长沙网络营销外包
  • 宝塔怎么做第二个网站网站内容设计遵循的原则有
  • 网站违反了 google 质量指南免费ppt模版网站
  • 郑州网站建设郑州网站建设成都那家网站建设好
  • 温州网站排名优化公司如何招聘软件网站开发人员
  • 成都 网站建设公司哪家好襄阳行业网站建设
  • wordpress 调用时间做网站seo的公司哪家好
  • 手机上网站搭建网站账户系统
  • 西乡网站的建设柳州建站
  • 宁夏网站建设怎么样互联网 网站设计
  • 成都关键词seo推广平台手机端关键词排名优化软件
  • 学做软件的网站卡盟平台
  • 网站构建建设案例展示关于做服饰网站的首页
  • 如何建设网站论坛凡科建站手机版登录
  • 建设银行门户网站惠州公司网站建设价格
  • 用python开发网站网站如何取消验证码
  • 公司做企业网站互联网建网站
  • 建网站需要的费用公司注册后怎么做网站
  • 宣传电脑的网站开发运动网站建设教程
  • 网站建设公司都会有哪些花销做网站公司商丘
  • 网站风格有哪些软件定制和开发