1、世界人口在2011年达到70亿,并正在以每年1.1%的速度增长。
假设人口继续以同样的速度增长,请编写程序计算在哪一年人口达到约80亿?
package work;
public class People {
public static void main(String[] args) {
// TODO Auto-generated method stub
double sum=70; int n=0;//定义初始值,人数70,以亿为单位,年数为0
while(sum<=80)//不知道循环几次,所以使用while。条件是小于等于80做循环
{
sum=sum*(1+0.011);//人数
n++;
}
System.out.println(n);
}
}
2、编写一个应用程序求满足1+2!+3!+……+n!<=9995的最大整数n。
package work;
public class Function {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0,m=1,n=0;
while(sum<=9999)
{ n++;
m=m*n;
sum=sum+m;
}
System.out.println(n-1);
}
}
3.递归函数
package work;
public class FA {
public static void main(String[] args) {
// TODO Auto-generated method stub
long sum = 0;
for (int i = 1; i <= 7; i++) {
sum += factorial(i);
}
System.out.println("和为:" + sum);
}
// 创建求阶乘的方法
public static long factorial(int num) {
if (num == 1) {
return 1;
}
// 使用递归求阶乘
return num * factorial(num - 1);
}
}