分数和 阶乘

 /**
  * 分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列之和
  * @param n 多少项
  * @return 总和
  */
 public float fractionTotal(int n){
	 float numerator=2; //分子
	 float denominator=1;//分母
	 float sum=0;   //总和
	 float temp=0;  //临时变量
	 for(int i=0;i<n;i++){
		 sum=sum+numerator/denominator;
		 temp=denominator;
		 denominator=numerator;
		 numerator=temp+denominator;
	 }
	 return sum;
 }
 /**
  * 阶乘
  * @param n 整数
  * @return  得数
  */
 public int factorial(int n){
	 if(n==1||n==0){
		 return 1;
	 }else{
		return n*factorial(n-1); 
	 }
 }
时间: 2024-11-08 03:02:06

分数和 阶乘的相关文章

51nod 1189 阶乘分数(阶乘素因子分解)

题目链接:传送门 分析: 1/n! = 1/x +1/y ==>  n! * (x + y) = x * y ==>  n!^2 = (x - n!)*(y - n!) ==>  a = b * c ,a = n!^2 ,b = x - n! ,c = y - n! 因此题目就转化成求a的约数的问题了,然后对a进行素 因子分解就可以了,统计的时候记得去重. 代码如下: #include <iostream> #include <cstring> #include

2016/1/6 输出菱形 while语句计算阶乘分数之和

1 public class LingXing { 2 3 4 public static void main(String[] args) { 5 //打印菱形 6 for (int x=1;x<6;x++){ 7 for(int p=x;p<5;p++){ 8 System.out.print(" "); 9 } 10 for(int y=0;y<x;y++){ 11 System.out.print("* "); 12 } 13 14 Sys

51 nod 1189 阶乘分数

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1189 题目思路: 1/n! = 1/x +1/y ==> n! * (x + y) = x * y(右边通分,然后转化) ==> n!^2 = (x - n!)*(y - n!)(左右两边加上n方) ==> a = b * c ,a = n!^2 ,b = x - n! ,c = y - n! #include <iostream> #in

poj2992 divisors 求组合数的约数个数,阶乘的质因数分解

Your task in this problem is to determine the number of divisors of Cnk. Just for fun -- or do you need any special reason for such a useful computation? Input The input consists of several instances. Each instance consists of a single line containin

算法-计算阶乘n!末尾0的个数

算法逻辑转载自计算阶乘n!末尾0的个数: 问题描述    给定参数n(n为正整数),请计算n的阶乘n!末尾所含有"0"的个数.    例如,5!=120,其末尾所含有的"0"的个数为1:10!= 3628800,其末尾所含有的"0"的个数为2:20!= 2432902008176640000,其末尾所含有的"0"的个数为4. 计算公式    这里先给出其计算公式,后面给出推导过程.    令f(x)表示正整数x末尾所含有的&q

1003 阶乘后面0的数量

1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0. Input 一个数N(1 <= N <= 10^9) Output 输出0的数量 Input示例 5 Output示例 1其实只要循环除五就可以找到规律,其实也可以证明出来. 1 #include <iostream> 2 #include <cstdio> 3 #

高精度运算-阶乘累积求和

# include <stdio.h> # include <math.h> # define N 66 int main(){ int s[N] = {0}, a[N] = {0};// s累加和,a累积求阶乘 int i,j,k,n,digit=1; //digit代表的是数字的位数 scanf("%d",&n); a[0]=1; s[0]=1; if(n==1)// 如果是1,阶乘和就是1,直接输出 printf("%d",s[

分数的化简

题目:我们知道分数由分子和分母组成,所以给定你两个整数(可负,可正),第一个代表分子,第二个代表分母.你能不能把他们化为最简单的形式呢?例如: 输入: -4 8 : 输出:-1/2 void main(){ int a,b; int i=1; int flag=i;//最大公约数 int flag2=0;//a,b中负号的个数 scanf("%d %d",&a,&b); if(b == 0){return;}//分母不能为0 if(a == 0){//分子为0时,结果是

关于阶乘

描述:给定两个数n,m,其中m是一个素数. 将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m. 注:^为求幂符号. 输入: 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后的s行, 每行有两个整数n,m. 输出: 输出m的个数 样例输入 3 100 5 16 2 1000000000 13 样例输出 24 15 83333329 当n,m体量很小的时候,用这个代码就可以AC: 1 #include <iostream> 2 using na