java while求2的N-1次方
时间: 2024-05-11 17:14:05 浏览: 127
以下是一个简单的Java程序,使用while循环计算2的N-1次方:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入N的值:");
int n = input.nextInt();
int power = 1;
int i = 1;
while(i < n) {
power = power * 2;
i++;
}
System.out.println("2的" + (n-1) + "次方为:" + power);
}
}
```
运行程序后,输入N的值,程序会利用while循环计算2的N-1次方,并输出结果。
相关问题
java中使用while循环求1-20的阶乘
在Java中,你可以使用while循环和递归的方式计算从1到20的所有整数的阶乘。阶乘是指一个正整数n与其所有小于它的正整数相乘的结果,通常表示为n!。下面是一个示例代码:
```java
public class Factorial {
public static void main(String[] args) {
int number = 20;
int factorial = 1;
while (number > 0) {
factorial *= number;
number--;
}
System.out.println("1 to " + number + " 的阶乘是: " + factorial);
}
}
```
在这个例子中,我们初始化`factorial`为1(因为任何数的0次方都是1),然后在while循环中,每次将`factorial`乘以`number`,再减小`number`的值,直到`number`变成0,退出循环。最后输出的是1到20的阶乘。
利用e≈1+1/1!+1/2!+1/3!+...+1/n!,编程计算e的近似值,直到最后一项的绝对值小于10的-4次方为止。输出e的值并统计累加的项数。
利用公式e=1+1/1!+1/2!+1/3!+1/4!+…+1/n!,编程计算e的近似值,直到最后一项的绝对值小于10的-4次方为止。输出e的值并统计累加的项数。
Java代码实现:
```
public class Practice {
public static long factorial(int n){//递归实现阶乘
if(n==0||n==1){
return 1;
}else{
return n*factorial(n-1);
}
}
public static double caleE(){
double e=1;
double item=1;
int n=1;
while(item>=1e-4){
item=1.0/factorial(n);
e+=item;
n++;
}
System.out.println("累加的项数为:"+(n-1));
return e;
}
public static void main(String[] args) {
double res=caleE();
System.out.println("e的值为:"+res);
}
}
```
C语言代码实现:
```
#include <stdio.h>
int main()
{
int n=1;
double e=1,item=1;
while(item>=1e-4){
item=1.0;
for(int i=1;i<=n;i++){
item/=i;
}
e+=item;
n++;
}
printf("累加的项数为:%d\n",n-1);
printf("e的值为:%lf\n",e);
return 0;
}
```
阅读全文