求cos(x)的值(java实现)
题目:
输入x值,按照公式计算cos(x)的值,直到最后一项小于10-6为止。
cos(x) = 1 - x2/2! + x4/4! - x6/6! + …
思路:
- 由公式可知,分子x的次方数和分母的阶乘相同,因此可以考虑用同一变量控制。
- 分母 4!=2! * 3 * 4,分子x4 = x2 * x * x ,因此可以考虑在上一次分母和分子结果的基础上进行计算,而不必重复计算。
- 每一项的正负号相反,因此可以考虑自定义符号标志控制正负号。
- 注意:阶乘至少用double存储
实现:
public class cos {public static void main(String[] args) {// TODO Auto-generated method stubScanner reader = new Scanner (System.in);double x = reader.nextDouble();double sum = 1; //记录最后的和int flag = -1; //符号标志,第一项为负int n = 2; //记录次方数double fac = 1; //记录分母double power = 1; //记录分子while(power/fac >= 1E-6){power *= x*x;fac = fac * (n-1)* n;sum += flag*power/fac;n = n+2;flag = -flag; //下一项符号位相反}// do{
// fac = 1;
// for(int i=1;i<=n;i++) //重复计算了之前算过的阶乘,效率低
// {// fac*=i;
// }
// double item = flag*Math.pow(x,n)/fac; //重复计算了之前算过的次方,效率低
// sum += item;
// flag = -flag;
// n = n+2;
// }
// while(Math.pow(x, 2)/fac >= 1E-6);System.out.println(sum);}
}
求cos(x)的值(java实现)相关推荐
- java中cos计算公式求cos溢出_用台劳公式计算cos x的值
咱作业要求用台劳公式计算cos x的值 我实在不想因为这种小问题劳烦各路高手,不过这个程序我捣鼓了两天,不知错在何处,总是不出结果,十分苦恼!因为敬请各位,能帮则帮,感激不尽!!! 台劳公式如下 : ...
- Java 求a+b的值
Java 求a+b的值 求取A+B的值并且输出 输入格式 输入为一行,包括了用空格分隔的两个整数 AA.BB(1 \le A, B \le 10001≤A,B≤1000). 输出格式 输出为一行,为 ...
- 1123求cos(x)的值1108一组整数求平均
题目描述 输入一个浮点数x,求cos(x)值,用公式cos(x)=1-x^2/2!+x^4/4!-x^6/6!+x^8/8! 计算. 输入要求 多组输入,输入x的值 输出要求 输出cosx的值,保留两 ...
- python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...
导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...
- 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 cosωn 的傅里叶变换 | 复变函数欧拉公式 )
文章目录 一.求 cosωn 傅里叶变换 0.cosωn 序列分析 1.傅里叶变换与反变换公式介绍 2.复变函数欧拉公式介绍 3.求 cosωn 的傅里叶变换推导过程 一.求 cosωn 傅里叶变换 ...
- 用C语言编写程序计算cos x 的近似值,输入精度 e 和 x,用下列公式求cos(x)的近似值...
C语言 输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。 #include //头文件置顶#include double fact(int n){\ C语言编写 ...
- matlab表示t从负无穷到正无穷,求cos(t 3π 4)乘刺激信号从负无穷到正无穷上的积分...
已知α是锐角,且tan[(π除4)+α]=2,求(sin2α乘cosα-sinα)除(sin2α乘cos2α) tan(α+π/4)=(tanα+1)/(1-tanα)=2(tanα+1)=2(1-t ...
- 7-3 蒙特卡罗方法求圆周率 (15 分)(Java)
7-3 蒙特卡罗方法求圆周率 (15 分)(Java) 可算写出来了 使用蒙特卡洛仿真方法求圆周率.(具体要求见作业指导书 2020-OO第05次作业-2指导书V1.0.pdf ) 输入格式: 从键盘 ...
- 求素数的三大算法 —— Java 篇
求素数的三大算法 -- Java 篇 文章目录 求素数的三大算法 -- Java 篇 算法一 :暴力遍历 思路: 代码: 结果: 算法二:折半范围遍历 思路: 代码: 结果: 算法三:根号范围遍历 思 ...
最新文章
- 【hdu 6342】Expression in Memories
- 【Python】青少年蓝桥杯_每日一题_9.03_画三角形和半圆相切
- php 强制变为整数,强制PHP整数溢出
- SUN服务器清除所有报错信息,SUN服务器可能遇到的问题总结.doc
- 深度css:关于浮动(float,clear)的图形化理解
- 这个开源组织里的项目都是精品
- python r语言 数据分析_PythonR语言-将Python和R整合进一个数据分析流程
- java Unicode转UTF-8代码
- 数据库的增加,删除,更新操作--mysql
- RHEL 7 防火墙
- 解析 FBX 模型文件作为 Direct3D 的渲染模型
- 固定不动的层(兼容IE6)
- 转载:Transferring Login Credentials Securely
- Android自定义View--Flyme6的Viewpager指示器
- 清华计算机类专业介绍,清华大学研究生专业介绍:计算机技术
- 【python】批量获取企业公司的统一社会代码
- ubuntu系统 有线网络无法通过网页认证上网
- win10开机启动文件夹路径
- spring boot 快速入门
- 盘点2018云栖大会的黑科技