如何用数组保存阶乘(c语言计算1到n的阶乘之和)?如果你对这个不了解,来看看!
上次24个实用 ES6 方法受到好评,这次再来 10个,下面是大智视野给大家的分享,一起来看看。
如何用数组保存阶乘
毫无疑问,JavaScript 是Web开发中最流行的编程语言之一。无论使用的是 React,Vue 还是Angular,都只是 JavaScript。JS围绕着广阔而至关重要的生态系统发展,提供了无数的框架和库,可帮助我们更快地开发应用程序。
但是有时候最好退一步,尝试了解如何在没有使用库的情况下做事。看看下面的代码片段,它们以优雅的方式解决了简单的问题,在日常项目也很实用,所以记好笔记,当遇到问题时就可直接来用使用。
1.字符串反转
在此示例中,我们使用展开运算符,Array的reverse方法和 String 的join方法来反转给定的字符串。
2.计算指定数字的阶乘
3.将数字转换为数字数组
4.检查数字是否为2的
5.从对象创建`键-值`对数组
6.返回数字数组中的最大值
7. 检查数组中的所有元素是否相等
8. 返回数的平均值
9.返回两个或多个数字的和
10.返回数字数组的幂集
所谓幂集(Power Set), 就是原集合中所有的子集(包括全集和空集)构成的集族。可数集是最小的无限集;它的幂集和实数集一一对应(也称同势),是不可数集。不是所有不可数集都和实数集等势,集合的势可以无限的大。如实数集的幂集也是不可数集,但它的势比实数集大。设X是一个有限集,|X| = k,则X的幂集的势为2的k次方。
作者:Simon Holdorf 译者:前端小智 来源:webdevhub原文:https://webdevhub.net/articles/javascriptmedium/10-javascript-code-snippets-you-can-use-right-now
c语言计算1到n的阶乘之和
圆周率,大家都不陌生吧,也就是“Pi”,用符号π来表示,一般就是数字3.14159265...
那这道编程题呢,相对于之前学过的编程题目而言,难度有所提升。
主要目的就是如文章标题写的那样,要计算圆周率。
没错,圆周率是可以计算出来的。
打出公式比较复杂,我直接把题目给贴上来好了。
梳理逻辑这道题目的要求是什么,是输入小于1的阈值,然后在一行中输出满足阈值条件的近似圆周率,输出小数点后6位,而近似圆周率满足公式中的最后一项的值要小于给定的阈值。
比方说给定阈值0.01,那么计算圆周率的最后一项如果小于0.01,就到此为止,然后把该圆周率的值给打印出来。
1、输入小于1的阈值,那显然是要用到float浮点型来表示输入阈值的数据类型了。
2、关键难度在于如何得到最后一项,以及如何得到pi的值。
我们可以仔细观察,最后一项其实是由n的阶乘去除以所有奇数的乘积。
n的阶乘我之前讲过,就是从第一个数开始乘起乘到最后一个数。
而所有奇数的乘积也相对简单,就是从第一个奇数开始乘起乘到最后一个奇数。
3、保留小数点后六位,那就是要用到%0.6f来表示了。
代码实现//计算圆周率#include<stdio.h>int main(){ float n; float m=1;//n! float q=1; float pi=1; float w=0; scanf("%f", &n);//阈值 int i = 1; for(w = 1; w >= n;i++){ q = q*(2*i+1); m = m*i; w = m/q; pi = pi + w; } printf("%0.6f",2*pi);}可以发现,这里只需要用到一个for循环即可,至于求n的阶乘与所有奇数的乘积,相对来说也是比较简单的,就是用数值本身去乘以相应的公式即可。
结果测试总结总的来说,这道题目并没有想象中的那么难,关键还是题目的逻辑要盘清楚,否则就会像我最开始做题时犯的错误一样,容易出现问题。