输出1!+2!+3!+。。。+10!…的n项阶乘和
for循环
/** for循环输出 1!+2!+3!+。。。+10!....的n项阶乘和 */
static long factorial3(int num) {
long sum = 1;
for (int i = 1; i <= num; i++) {
sum *= i;
}
return sum;
}
while循环
/** while循环输出 1!+2!+3!+。。。+10!....的n项阶乘和 */
static long factorial5(int num) {
int sum = 1;
int i = 1; // 循环变量初始化
while (i <= num) { // 循环条件
sum *= i; // 阶乘计算方法sum=sum*i
i++; // 循环迭代
}
return sum;
}
do-while循环
/** do-while循环输出 1!+2!+3!+。。。+10!....的n项阶乘和 */
static long factorial4(int num) {
long i = 1;
int sum = 1;
do {
sum *= i;
i++;
} while (i <= num);
return sum;
}
输出1+1/2!+1/3!+。。。的前n项和
for循环
/** for循环输出 1+1/2!+1/3!+。。。的前n项和 */
static double factorial(int num) {
double sum = 0, number = 1;
for (int i = 1; i <= num; i++) {
number = number * (1.0 / i);
sum += number;
}
return sum;
}
while循环
static double factorial1(int num) {
double sum = 0, number = 1, i = 1;
while (i <= num) {
number = number * (1.0 / i);
sum += number;
i++;
}
return sum;
}
do-while循环
/** do-while循环输出 1+1/2!+1/3!+。。。的前n项和 */
static double factorial2(int num) {
double sum = 0, number = 1, i = 1;
do {
number = number * (1.0 / i);
sum += number;
i++;
} while (i <= num);
return sum;
}
运算结果:
请输入你要计算的阶乘数:
10
分数使用for循环计算的和为:1.7182818011463847
分数使用while循环计算的和为:1.7182818011463847
分数使用do-while循环计算的和为:1.7182818011463847
*************************************************
整数使用for循环计算的和为:3628800
整数使用do-while循环计算的和为:3628800
整数使用while循环计算的和为:3628800