一、一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。
public static void main(String[] args) {
for(int i = 1;i <= 1000;i++) {
int sum=0;
for(int j = 1;j<=i/2;j++) {
if(i%j==0) {
sum = sum+j;
}
}
if(sum==i) {
System.out.println(i);
}
}
}
?二、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
/*
* 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多
少米?第10次反弹多高?
*/
public class test10 {
public static void main(String[] args) {
double s=100;
double high=100;
for(int i = 1;i<=10;i++) {
high=high/2;
s=s+high*2;
}
System.out.println(high);
System.out.println(s);
}
}
三、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
public static void main(String[] args) {
int num=0;
for(int i = 1;i<=4;i++) {
for(int j=1;j<=4;j++) {
for(int k=1;k<=4;k++ ) {
num++;
System.out.print(i);
System.out.print(j);
System.out.print(k);
System.out.print(" ");
}
}
}
System.out.println();
System.out.println(num);
}
四、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
public static void main(String[] args) {
int j;
for(int i = 1;i<=1000;i++) {
for(j = 1;j<=1000;j++) {
if(i+100==j*j) {//先判断i+100为完全平方数
for(;j<=1000;j++) {//在第一个条件成立的情况下判断第二个条件
if(i+168==j*j) {
System.out.println(i);
break;
}
}
}
}
}
}
五、在键盘上输入数n,编程计算sum=1-1/2+1/3-1/4+1/5+......+1/n
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n;
double sum = 0;
System.out.println("请输入n");
n= scan.nextInt();
for(int i = 1;i<=n;i++) {
if(i%2==0) {//判断是加还是减
sum=sum-1.0/i;
}else {
sum = sum+1.0/i;
}
}
System.out.println(sum);
}
六、进阶计算1-1/2!+1/3!-1/4!+.....+1/n!
public static void main(String[] args) {
double sum=0;
int n , t=1;
System.out.println("请输入n:");
Scanner scan = new Scanner(System.in);
n=scan.nextInt();
for(int i = 1;i<=n;i++) {
t=1;
for(int j = 1;j<=i;j++) {
t=t*j;//首先用t接受没一个数的阶乘
}
if(i%2==0) {
sum=sum-1.0/t;
}else {
sum=sum+1.0/t;
}
}
System.out.println(sum);
}
|