1.6解不等式 1.6.1 平方根不等式

//《至美——C程序设计》

在这个前辈的代码上改了一点
S1赋值, s1 = 1; //赋值 如果提前未赋值会有警告,所以我就想赋值。然后我是在for循环里写的

在这里插入图片描述

 while (1){m++;s = 0;s1 = 1;for (i = m; i <= 2 * m; i++)s += sqrt(i);    /*对每一个m计算和s*/这会运行结果有问题,因为最后一次的s1=s显示的是 在for循环里赋给的值

以下为改进原代码

#include<stdio.h>
#include<math.h>
void main()
{long i, m;double n, s, s1;printf("请输入正数n(n>3):");scanf_s("%lf", &n);    /*输入任意正数*/m = 0;       s1 = 1;   //赋值while (1){m++;s = 0;for (i = m; i <= 2 * m; i++)s += sqrt(i);    /*对每一个m计算和s*/if (s >= n)break;elses1 = s;     /*为以下注明提供依据*/}printf("不等式的解为:m>=%ld\n", m);printf("注:当m=%ld时,s=%.2f;当m=%ld时,s=%.2f\n", m - 1, s1, m, s);}

https://blog.csdn.net/double_main/article/details/53418253?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160362290519195264712883%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=160362290519195264712883&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v1~rank_blog_v1-1-53418253.pc_v1_rank_blog_v1&utm_term=%E4%B8%8D%E7%AD%89%E5%BC%8F&spm=1018.2118.3001.4187

对指定的正数n,试求满足以下平方根不等式的正整数;
√m+√(m+1)+√(m+2)+···+√(2*m)>=n

1.说明:
显然不等式左边是m的增函数,因而对于指定的正数n设置m循环,m从1开始递增1取值,对每一个m求和:
s(m)=√m+√(m+1)+√(m+3)+···√(2*m)

如果s(m) < n;
m增1后继续按上式求和判别,直至s>=n时输出不等式的解。

2.程序设计:
(1).应用循环设计求解;

#include<stdio.h>
#include<math.h>
void main()
{long i,m;double n,s,s1;printf("请输入正数n(n>3):");scanf("%lf",&n);    /*输入任意正数*/m=0;while(1){m++;s=0;for(i=m;i<=2*m;i++)s+=sqrt(i);    /*对每一个m计算和s*/if(s>=n)break;else s1=s;     /*为以下注明提供依据*/}printf("不等式的解为:m>=%ld\n",m);printf("注:当m=%ld时,s=%.2f;当m=%ld时,s=%.2f\n",m-1,s1,m,s);getch();
}

(2).应用递推设计求解;
事实上,可以建立s(m)与s(m-1)之间的递推关系,应用递推简化求解平方根不等式。
对于m-1与m,累加和s(m)与s(m-1)显然满足以下递推关系:
s(m)=s(m-1)-√(m-1)+√(2* m-1)+√(2* m)
初始条件:s(1)=1+√2因此,前面程序设计中的双循环可简化为单循环,程序效率得以大大提高。#include<stdio.h>
#include<math.h>
void main()
{long m;double n,s,s1;printf("请输入正数n(n>3):");scanf("%lf",&n);m=1;s=1.0+sqrt(2);do{m++;s1=s;s=s-sqrt(m-1)+sqrt(2*m-1)+sqrt(2*m);}while(s<n);printf("不等式的解为:m>=%ld\n",m);printf("注:当m=%ld时,s=%.2f;当m=%ld时,s=%.2f\n",m-1,s1,m,s);getch();
}```c#include<stdio.h>
#include<math.h>
void main()
{long m;double n,s,s1;printf("请输入正数n(n>3):");scanf("%lf",&n);m=1;s=1.0+sqrt(2);do{m++;s1=s;s=s-sqrt(m-1)+sqrt(2*m-1)+sqrt(2*m);}while(s<n);printf("不等式的解为:m>=%ld\n",m);printf("注:当m=%ld时,s=%.2f;当m=%ld时,s=%.2f\n",m-1,s1,m,s);getch();
}

3.程序运行示例及其注意事项:
请输入正数n(n>3):2017
不等式的解为:m>=140
注:当m=139时,s=2011.83;当m=140时,s=2033.48

注意:以上程序中的“注”对解不等式并不是必要的,只是为了说明不等式解。同时,输入的数不限定为整数,可为任意正数(约定n>3)。

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

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

相关文章

[剑指offer][JAVA]面试题第[31]题[栈的压入、弹出序列][栈]

【问题描述】[中等] 输入两个整数序列&#xff0c;第一个序列表示栈的压入顺序&#xff0c;请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如&#xff0c;序列 {1,2,3,4,5} 是某栈的压栈序列&#xff0c;序列 {4,5,3,2,1} 是该压栈序列对应的一个弹…

《七哥说道》第二章:初出茅庐之拜师学艺

【 转载请注明】&#xff1a; 原文出处&#xff1a;https://www.cnblogs.com/jstarseven/p/10499659.html 作者&#xff1a;jstarseven 码字挺辛苦的..... 怀着对第一份工作的遐想&#xff0c;15年6月1号&#xff08;儿童节啊&#xff09;&#xff0c;我开始了我的入职之旅。北…

[Leedcode][JAVA][第67题][二进制求和][位运算][字符串]

【问题描述】[简单] 给你两个二进制字符串&#xff0c;返回它们的和&#xff08;用二进制表示&#xff09;。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a "11", b "1" 输出: "100" 示例 2:输入: a "1010", b "1…

wamp

进入localhost找不到项目文件 转载于:https://www.cnblogs.com/nzc520/p/10501528.html

16.jsp结构

JSP 结构 网络服务器需要一个 JSP 引擎&#xff0c;也就是一个容器来处理 JSP 页面。容器负责截获对 JSP 页面的请求。本教程使用内嵌 JSP 容器的 Apache 来支持 JSP 开发。 JSP 容器与 Web 服务器协同合作&#xff0c;为JSP的正常运行提供必要的运行环境和其他服务&#xff…

[剑指offer][JAVA]面试题第[32-1]题[从上到下打印二叉树][BFS]

【问题描述】[中等] 从上到下打印出二叉树的每个节点&#xff0c;同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回&#xff1a;[3,9,20,15,7]【解答思路】 BFS 时间复杂度&#xff1a;O(N) 空间复杂度&#xff1a…

《深入理解Java虚拟机》读书笔记一

第二章 Java内存区域与内存溢出异常 1、运行时数据区域 程序计数器&#xff1a; 当前线程所执行的字节码的行号指示器&#xff0c;用于存放下一条需要运行的指令。运行速度最快位于处理器内部。线程私有。虚拟机栈&#xff1a; 描述的是Java方法执行的内存模型&#xff0c;用于…

[Leedcode][JAVA][第16题][最接近的三数之和][双指针][数组]

【问题描述】[中等] 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数&#xff0c;使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例&#xff1a; 输入&#xff1a;nums [-1,2,1,-4], target 1 输出&…

[剑指offer][JAVA]面试题第[32-2]题[从上到下打印二叉树][BFS]

【问题描述】[简单] 从上到下按层打印二叉树&#xff0c;同一层的节点按从左到右的顺序打印&#xff0c;每一层打印到一行。例如: 给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回其层次遍历结果&#xff1a;[[3],[9,20],[15,7] ]【解答思路】 层次遍历 BFS 时…

19.jsp生命周期

JSP 生命周期 理解JSP底层功能的关键就是去理解它们所遵守的生命周期。 JSP生命周期就是从创建到销毁的整个过程&#xff0c;类似于servlet生命周期&#xff0c;区别在于JSP生命周期还包括将JSP文件编译成servlet。 以下是JSP生命周期中所走过的几个阶段&#xff1a; 编译阶…

[剑指offer][JAVA]面试题第[32-3]题[从上到下打印二叉树 ][BFS]

【问题描述】[中等] 请实现一个函数按照之字形顺序打印二叉树&#xff0c;即第一行按照从左到右的顺序打印&#xff0c;第二层按照从右到左的顺序打印&#xff0c;第三行再按照从左到右的顺序打印&#xff0c;其他行以此类推。 例如: 给定二叉树: [3,9,20,null,null,15,7],3/ …

20.jsp语法

JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法。 脚本程序 脚本程序可以包含任意量的Java语句、变量、方法或表达式&#xff0c;只要它们在脚本语言中是有效的。 脚本程序的语法格式&#xff1a; <% 代码片段 %> 或者&#xff0c;您也可以编写与其等价的XM…

基于docker创建的Jenkins,settings.xml文件放在哪里

如果运行容器时挂载目录如下 启动容器 docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privilegedtrue --restartalways -v /home/jenkins_home:/var/jenkins_home jenkins/jenkins:latest 则需要将开发给的settings.xml文件中的localRepository路径改为容器中…

[Leedcode][JAVA][第139题][单词拆分][递归][记忆优化][动态规划]

【问题描述】[中等] 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict&#xff0c;判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明&#xff1a;拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1&#xff1a;输入: s …

22.jsp动作元素

JSP 动作元素 与JSP指令元素不同的是&#xff0c;JSP动作元素在请求处理阶段起作用。JSP动作元素是用XML语法写成的。 利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。 动作元素只有一种语法&#xff0c;它符合XML标…

[剑指offer][JAVA]面试题第[33]题[二叉搜索树的后序遍历][单调栈][递归分治]

【问题描述】[中等] 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true&#xff0c;否则返回 false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树&#xff1a;5/ \2 6/ \1 3 示例 1&#xff1a;输入: [1,…

Trie总结

Trie 树即为字典树 这个树可以把所有我们要在文本中所查询的前缀都记录下来 当我们拿到一个文本串 需要从里面找出所有前缀串的数目我们就可以用这个结构 拿着我们的文本到这个树里面走一走就得到有多少个前缀了 我们来看 当我们拿到一个前缀 不断地把这个前缀插入到树中 对每…