精华内容
下载资源
问答
  • 【问题描述】 ...编写程序根据用户输入的x和n的,利用上述近似计算公式计算cosx的近似,要求输出结果小数点后保留8位。 【输入形式】 从控制台输入小数x(0<=x<=10)和整数n(0<=n<=1...

    【问题描述】

    已知cosx的近似计算公式如下:

    cosx = 1 - x2/2! + x4/4! - x6/6! + … + (-1)nx2n/(2n)!

    其中x为弧度,n为大于等于0的整数。编写程序根据用户输入的x和n的值,利用上述近似计算公式计算cosx的近似值,要求输出结果小数点后保留8位。

    【输入形式】

    从控制台输入小数x(0<=x<=10)和整数n(0<=n<=1000),两数中间用空格分隔。

    【输出形式】

    控制台输出公式结果:小数点后保留8位。

    【样例输入1】

    1.0472 3

    【样例输出1】

    0.49996244

    【样例输入2】

    1.0472 49

    【样例输出2】

    0.49999788

    【样例说明】

    输入x为1.0472,n为3,求得cosx近似计算公式的值为0.49996244,小数点后保留8位;同样,输入x为1.0472,n为49,求得cosx近似计算公式的值为0.49999788,小数点后保留8位。

    注意:为保证数据的准确性和一致性,请使用double数据类型保存计算结果。

    【评分标准】

    该题要求输出上述公式的计算结果,共有5个测试点,每个测试点5分,共25分。


    第一次错误写法:

    package pkg3;
    
    import java.util.Scanner;
    
    public class Demo03 {
    	public static void main(String[] args) {
    		double x=0.0,sum=1.0;
    		int n;
    		Scanner sc1 = new Scanner(System.in);
    		x = sc1.nextDouble();
    		n = sc1.nextInt();
    		sc1.close();
    		int sign;
    		double temp;
    		long down;
    		for (int i = 1; i <= n; i++) {
    			sign = i%2==1?-1:1;
    			temp = Math.pow(x, 2*i);
    			down = 1;
    			for (int j = 1; j <= 2*i; j++) {
    				down *= j;
    			}
    			System.out.println(sign+" "+down);
    			sum += sign*temp/(double)down;
    		}
    		System.out.println(String.format("%.8f", sum));
    	}
    }
    
    

    于是上网博客到一篇大佬写的题解决 这是链接
    于是对照发现问题出在阶乘(2n!) 上,因为long最多能存到20!,int最多能存到16!,所以直接求阶乘行不通。

    遂改进:

    package pkg3;
    
    import java.util.Scanner;
    
    public class Demo03 {
    	public static void main(String[] args) {
    		double x=0.0,sum=1.0;
    		int n;
    		Scanner sc1 = new Scanner(System.in);
    		x = sc1.nextDouble();
    		n = sc1.nextInt();
    		sc1.close();
    		double temp=1; // 第i项绝对值
    		for (int i = 1; i <= n; i++) {
    			temp = (-1)*temp*x*x/(2*i*(2*i-1));
    			sum += temp;
    		}
    //		System.out.printf("%.8f", sum);
    		System.out.println(String.format("%.8f", sum));
    	}
    }
    
    

    分析和总结:瞪眼法,可知相邻项绝对值相差x*x/(2i(2i-1))倍,因此每一次都做乘法,重复利用已经算过的数据

    展开全文
  • python sinx计算公式

    万次阅读 2018-11-21 16:20:26
    【问题描述】 已知sinx的近似计算公式如下:  sin x = x - x3/3! + x5/5!...编写程序根据用户输入的x和n的,利用上述近似计算公式计算sinx的近似,要求输出结果小数点...

    【问题描述】

    已知sinx的近似计算公式如下:

     sin x = x - x3/3! + x5/5! - x7/7! + ... + (-1)n-1x2n-1/(2n-1)!

     其中x为弧度,n为正整数。编写程序根据用户输入的x和n的值,利用上述近似计算公式计算sinx的近似值,要求输出结果小数点后保留8位。

    【输入形式】

    从控制台输入小数x(0<=x<=20)和整数n(1<=n<=5000),两数中间用空格分隔。

    【输出形式】

    控制台输出公式结果:小数点后保留8位。

    【样例输入1】

    0.5236  4

    【样例输出1】

    0.50000105

    【样例输入2】

    0.5236  50

    【样例输出2】

    0.50000106

    【样例说明】

    输入x为0.5236,n为4,求得sinx近似计算公式的值为0.50000105,小数点后保留8位;同样,输入x为0.5236,n为50,求得sinx近似计算公式的值为0.50000106,小数点后保留8位。

     

    # sin x = x - x^3/3! + x^5/5! - x^7/7! + ... + (-1)^n-1 x^(2n-1)/(2n-1)!
    
    x, n = input().split()
    x = float(x)
    n = int(n)
    
    xiang = x
    sign = 1
    x_mici = x
    jiechen = 1.0
    sin_x = xiang
    for i in range(2, n + 1):
        sign *= -1
        x_mici *= x * x
        jiechen *=  (2 * i - 1) * (2 * i - 2)
        xiang = sign * x_mici / jiechen
        sin_x += xiang
    
    print("%.8f" % sin_x)
    展开全文
  • 计算两个数的中间值,并且防溢出

    千次阅读 2015-03-08 12:07:14
    第一种方法:m=(s+t)/2; 第二种方法:int m = (s & t) + ((s ^ t) >> 1) 第二种方法不会溢出。

    第一种方法:m=(s+t)/2;

    第二种方法:int m = (s & t) + ((s ^ t) >> 1)

    第二种方法不会溢出。

    第三种方法:int m = t + ((s-t)>>1)

    第三种方法也不会溢出。

    展开全文
  • Prometheus的函数和计算公式

    千次阅读 2020-06-29 09:40:53
    Prometheus强大的地方就在于可以它可以使用的很多计算公式去获取自己需要的数据。这里所涉及到的计算公式,也是我们普遍认为的难点所在。在Zabbix中想要获取CPU使用率是一件非常简单的事情,但是在Prometheus中却...

    Prometheus强大的地方就在于可以它可以使用的很多计算公式去获取自己需要的数据。这里所涉及到的计算公式,也是我们普遍认为的难点所在。在Zabbix中想要获取CPU使用率是一件非常简单的事情,但是在Prometheus中却需要通过计算公式来完成CPU使用率的计算。

    如果要统计CPU的使用:node_exporter会抓取CPU常用你的8种状态的累计工作时间,然后再用(所有非空闲状态的CPU时间总和)/(所有状态的CPU时间总和)= CPU使用率。而如果想要获取中间某一分钟的CPU使用时间还需要用到Counter数据类型。由于Counter的数据一致是增量,所以需要截取其中一段增量值,然后再拿这个值去套用公式进行计算。

    一、常用函数

    Prometheus为不同的数据提供了非常多的计算函数,其中有个小技巧就是遇到counter数据类型,在做任何操作之前,先套上一个rate()或者increase()函数。下面是一些比较常用的函数:

    1、rate函数

    rate() 函数是专门搭配counter数据类型使用函数,功能是取counter在这个时间段中平均每秒的增量。

    例如:获取eth0网卡1m内每秒流量的平均值

    rate(node_network_receive_bytes_total{device="eth0"}[1m])
    

    2、increase函数

    increase() 函数表示某段时间内数据的增量

    rate() 函数则表示某段时间内数据的平均值

    两个函数如何选取使用?

    当我们获取数据比较精细的时候 类似于1m取样推荐使用rate()

    当我们获取数据比较粗糙的时候 类似于5m,10m甚至更长时间取样推荐使用increase()

    例如:获取eth0网卡1m内流量的增量

    increase(node_network_receive_bytes_total{device="eth0"}[1m])
    

    3、sum函数

    sum()函数就是求和函数,注意点是当你使用sum后是将所有的监控的服务器的值进行取和,所以当我们只看某一台时需要进行拆分

    拆分常用方法:

    • by increase()
    • 2 by (cluster_name) 属于自定义标签不是标准标签,我们可以手动将不痛功能的服务器进行分组展示

    例如:获取所有主机eth0网卡1m内每秒流量的平均值的和

    sum(rate(node_network_receive_bytes_total{device="eth0"}[1m]))
    

    4、topk函数

    topk() 函数的定义是:取前面x位的最高值,最简单理解就是数学的top3 ,当我们有很多服务器我们想要获取某个key的数据排在前3位的服务器。

    Gauge类型使用方式:

    topk(3,key)
    

    Counter类型使用方式

    topk(3,rate(key[1m]))
    

    注意:此种函数获得数据并不是很适用图形化展示

    5、count函数

    count() 是找出当前或者历史数据中某个key的数值大于或小于某个值的统计,

    例如:

    count(node_netstat_Tcp_CurrEstab >50)
    

    6、irate函数

    irate(v range-vector)计算范围向量中时间序列的每秒即时增长率。这基于最后两个数据点。单调性中断(例如由于目标重启而导致的计数器重置)会自动调整

    例如:5m内http请求的每秒速率

    irate(http_requests_total{job="linux-01"}[5m])
    

    irate只应在绘制易失性快速移动计数器时使用。使用rate警报和缓慢移动的柜台,因为在房价短暂变化可以重设FOR条款和图表完全由罕见尖峰难以阅读。

    注意,当irate()聚合运算符(例如sum())或随时间聚合的函数(以任何结尾的函数_over_time)组合时,总是先取irate()第一个,然后聚合。否则irate()在目标重启时无法检测到计数器重置。

    二、CPU使用率的计算方法

    1、CPU模式

    一颗CPU要通过分时复用的方式运行于不同的模式中,这些模式可以用我们常用的top命令进行查看,其中包括:

    • us:用户进程使用cpu的时间
    • sy:内核进程使用cpu的时间
    • ni:用户进程空间内改变过优先级的进程使用的cpu时间
    • id:空闲(没人用)的cpu时间
    • wa:等待io的cpu时间
    • hi:硬中断的cpu时间
    • si:软中断的cpu时间
    • st:虚拟机管理程序使用的cpu时间

    这些时间加在一起是总的cpu时间。

    2、CPU时间

    通过node-exporter抓取的指标中cpu相关主要是各个node_cpu_seconds_total,可以通过如下的方式查看所有的metrics。

    curl http://localhost:9100/metrics
    

    在请求之后,会返回各种监控的内容,这里只截取出cpu相关的部分。

    # HELP node_cpu_seconds_total Seconds the cpus spent in each mode.
    # TYPE node_cpu_seconds_total counter
    node_cpu_seconds_total{cpu="0",mode="idle"} 26659.41
    node_cpu_seconds_total{cpu="0",mode="iowait"} 4.79
    node_cpu_seconds_total{cpu="0",mode="irq"} 0
    node_cpu_seconds_total{cpu="0",mode="nice"} 0
    node_cpu_seconds_total{cpu="0",mode="softirq"} 2.69
    node_cpu_seconds_total{cpu="0",mode="steal"} 0
    node_cpu_seconds_total{cpu="0",mode="system"} 31.65
    node_cpu_seconds_total{cpu="0",mode="user"} 8.67
    node_cpu_seconds_total{cpu="1",mode="idle"} 26634.43
    node_cpu_seconds_total{cpu="1",mode="iowait"} 54.14
    node_cpu_seconds_total{cpu="1",mode="irq"} 0
    node_cpu_seconds_total{cpu="1",mode="nice"} 0.02
    node_cpu_seconds_total{cpu="1",mode="softirq"} 1.23
    node_cpu_seconds_total{cpu="1",mode="steal"} 0
    node_cpu_seconds_total{cpu="1",mode="system"} 34.07
    node_cpu_seconds_total{cpu="1",mode="user"} 9
    node_cpu_seconds_total{cpu="2",mode="idle"} 26629.89
    node_cpu_seconds_total{cpu="2",mode="iowait"} 6.57
    node_cpu_seconds_total{cpu="2",mode="irq"} 0
    node_cpu_seconds_total{cpu="2",mode="nice"} 0
    node_cpu_seconds_total{cpu="2",mode="softirq"} 1.95
    node_cpu_seconds_total{cpu="2",mode="steal"} 0
    node_cpu_seconds_total{cpu="2",mode="system"} 24.66
    node_cpu_seconds_total{cpu="2",mode="user"} 7.2
    node_cpu_seconds_total{cpu="3",mode="idle"} 26699.96
    node_cpu_seconds_total{cpu="3",mode="iowait"} 5.72
    node_cpu_seconds_total{cpu="3",mode="irq"} 0
    node_cpu_seconds_total{cpu="3",mode="nice"} 0.01
    node_cpu_seconds_total{cpu="3",mode="softirq"} 1.27
    node_cpu_seconds_total{cpu="3",mode="steal"} 0
    node_cpu_seconds_total{cpu="3",mode="system"} 22.32
    node_cpu_seconds_total{cpu="3",mode="user"} 7.33
    

    上面的某一行就是某一核cpu的某个模式的运行时间,单位是。把某一核各个模式的cpu时间加起来就是执行uptime得到的系统开机以来运行运行的总的秒数了。例如:

    node_cpu_seconds_total{cpu="0",mode="idle"} 26659.41
    

    这个值的意思是从系统开机到现在为止,cpu0的空闲时间是26659.41秒。用它除以uptime就是开机以来cpu0的空闲率。

    3、推导CPU使用率的公式

    1)cpu0 5分钟内处于空闲状态的时间

    increase(node_cpu_seconds_total{cpu="0",mode="idle"}[5m])
    

    increase表示增量,所以这个公式表示的是当前时间点的node_cpu_seconds_total减去5分钟之前的node_cpu_seconds_total的值,也就是这5分钟内处于idle状态的cpu时间。

    2)cpu0 5分钟内处于空闲状态的时间占比:

    increase(node_cpu_seconds_total{cpu="0",mode="idle"}[5m]) / increase(node_cpu_seconds_total{cpu="0"}[5m])
    

    3)一台主机所有cpu 5分钟内处于空闲状态的时间占比:

    sum (increase(node_cpu_seconds_total{mode="idle"}[5m])) / sum (increase(node_cpu_seconds_total{mode="idle"}[5m]))
    

    4)如果 Prometheus 监控多台主机,要根据每台主机做 sum:

    sum (increase(node_cpu_seconds_total{mode="idle"}[5m]))  by (instance) / sum (increase(node_cpu_seconds_total[5m])) by (instance)
    

    5)cpu使用率 = 1 - cpu空闲率

    100 * (1 - sum (increase(node_cpu_seconds_total{mode="idle"}[5m]))  by (instance) / sum (increase(node_cpu_seconds_total[5m])) by (instance))
    

    6)根据irate()函数,可以简化计算公式为:

    100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance) * 100)
    

    三、常用计算公式

    1、CPU使用率

    100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance) * 100)
    

    2、空闲内存剩余率

    (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100
    
    

    3、内存使用率

    100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100
    

    4、磁盘使用率

    100 - (node_filesystem_free_bytes{mountpoint="/",fstype=~"ext4|xfs"} / node_filesystem_size_bytes{mountpoint="/",fstype=~"ext4|xfs"} * 100)
    

    参考文章:
    http://www.linuxe.cn/post-503.html
    http://www.luyixian.cn/news_show_304303.aspx
    https://my.oschina.net/54188zz/blog/3070582

    展开全文
  • ps图层混合计算公式

    千次阅读 2017-01-08 11:19:19
    Photoshop图层混合模式的计算公式 注释: 1.混合模式的数学计算公式,另外还介绍了不透明度。 2.这些公式仅适用于RGB图像,对于Lab颜色图像而言,这些公式将不再适用。 3.在公式中 A 代表下面图层的颜色
  • 瞬时功率与有功功率计算公式

    千次阅读 2020-02-21 17:06:04
     瞬时功率计算公式 在交流电路中,有功功率是指一个周期内发出或负载消耗的瞬时功率的积分的平均(或负载电阻所消耗的功率),因此,也称平均功率。 记有功功率为P,则有功功率计算公式如下:   有功功率计算公式 ...
  • 应用服务器配置测算及计算公式

    万次阅读 2019-01-15 10:06:27
    应用服务器配置测算及计算公式 1 术语和定义 1.1 信息系统 由计算机、通信设备、处理设备、控制设备及其相关的配套设施构成,按照一定的应用目的和规则,对信息进行采集、加工、存储、传输、检索等处理的人机系统。...
  • MOSS 中的计算公式

    千次阅读 2011-06-29 14:51:00
    转:MOSS 中的计算公式 可以在列表或库的计算栏中使用下面的示例。不包含栏引用的示例可用于指定栏的默认值。条件公式可以使用下面的公式测试语句的条件并返回值“Yes”或“No”,或者测试“OK”或...
  • Photoshop图层混合模式计算公式大全

    千次阅读 2011-11-30 16:33:38
    关于photoshop的图层混合模式,大家一定都非常熟悉了,我在这里把各种混合模式的计算公式都详细的描述一便,希望能够对大家理解图层的混合模式有所帮助,编写仓促,不足之处请多批评指正。 混合模式可以将两个图层...
  • 自定义计算公式的原理

    千次阅读 2012-04-25 16:18:04
    最近在开发工资管理模块的时候需要用到自定义的计算公式,凭自己当前的积累只能完成自定义公式的语法检查,在公式解析的时候一筹莫展,然后在网上看到这篇文章,记录下来 原始地址:...
  • 协方差矩阵的定义及其计算公式 (转)

    万次阅读 多人点赞 2017-02-10 00:07:06
    协方差矩阵的定义及其计算公式   (2014-03-20 18:36:56) 转载▼   分类: matlab 协方差矩阵在机器学习中经常用到,查看wiki:http://zh.wikipedia.org/wiki/协方差矩阵 可知...
  • Unity常用数学计算公式

    千次阅读 2016-11-16 17:48:20
    Mathf.Abs绝对值  计算并返回指定参数 f 绝对值。...以弧度为单位计算并返回参数 f 中指定的数字的反余弦。  Mathf.Approximately近似  static function Approximately (a : float, b:
  • Photoshop图层混合模式的计算公式

    千次阅读 2019-06-07 21:18:58
    嗨,PS也是有算法的,感性认识一下上升到理性认识了 :) 其中:正片叠底和滤色是一对逆运算。...1.混合模式的数学计算公式,另外还介绍了不透明度。 2.这些公式仅适用于RGB图像,对于Lab颜色图像而言,这些...
  • 图解分析音视频同步要分别保证开始的PTS一样,PTS是...1. 视频时间戳计算pts = count++ *(1000/fps); //其中count初始为0,每次打完时间戳count加1. //在ffmpeg,中的代码为 pkt.pts= count++ * (Ctx-&gt;tim...
  • 程序设计大作业---计算公式:求cosx

    万次阅读 多人点赞 2018-06-09 17:16:02
    编写程序根据用户输入的x和n的,利用上述近似计算公式计算cosx的近似,要求输出结果小数点后保留8位。 【输入形式】 从控制台输入小数x(0&lt;=x&lt;=10)和整数n(0&lt;=n&...
  • 输入3个数,求最大值最小值中间值

    千次阅读 2015-08-20 14:32:22
    输入3个数,求最大值最小值中间值 2015.06.26 1、 2、 bool 如果为真,则返回1,如果为假则返回0 3、&& 逻辑与 要求表达式两边同时为真,结果才为真,如果表达式两边有一个为假,结果就为假。...
  • 问题描述】 ...编写程序根据用户输入的x和n的,利用上述近似计算公式计算cosx的近似,要求输出结果小数点后保留8位。 【输入形式】 从控制台输入小数x(0<=x<=10)和整数n(0<=n<=10...
  • 阻抗计算公式、polar si9000(教程)

    千次阅读 2017-05-24 18:29:01
    阻抗计算公式、polar si9000(教程) 2015-10-29 22:16 2548人阅读 评论(0) 收藏 举报 给初学者的 一直有很多人问我阻抗怎么计算的. 人家问多了,我想给大家整理个材料,于己于人都是个方便.如果大家还有...
  • a.微带线(microstrip) Z={87/[sqrt(Er+1.41)]}ln[5.98H/(0.8W+T)]  其中,W为线宽,T为走线的铜皮厚度,H为...特性阻抗计算公式 表面微带线的特性阻抗较高并在实际中广泛采用,它的外层为控制阻抗的信号线面
  • PS混合模式的计算公式

    千次阅读 2011-12-03 16:23:25
    六、线性减淡模式计算公式:结果色色=基色色+混合色,如果两相加色大于255,则为255.实例: 七、线性加深模式计算公式:结果色=基色色+结果色色-255,如果为负,则为0.实例大家自己...
  • 位运算的方法求二个数的中间值

    千次阅读 2011-09-03 10:58:53
    在写二分的时候,经常要求中间值,即(a+b)/2 最近看到一种用位运算的方法求中间值。 /* * Author: FreePascal * Created Time: 2011/9/3 10:55:07 * File Name: mid.cpp */ #includ
  • PI值计算

    千次阅读 2011-10-08 01:54:40
    HDU 2179 pi值计算  先发上大数版本的程序(java水的,不想写高精度了。。) import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; p
  • CPK计算

    千次阅读 2020-05-15 18:25:20
    CPK计算 1:什么是CPK? 答CPK: Process Capability K Ratio 可被译为“过程能力K指数”,亦可被译意制程能力指数....2:CPK的计算公式: CPK=min[(USL-μ),( μ-LSL)]/3δ; CPK=Cp*(1-|Ca|) 它除了关注工艺的离散...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 90,792
精华内容 36,316
关键字:

中间值计算公式