您的位置:首页 > 编程语言 > Java开发

java基础编程练习4

2013-05-19 00:13 86 查看
题目8:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),

几个数相加有键盘控制。

1.程序分析:关键是计算出每一项的值。

import java.util.*;
public class TestP8{
public static void main(String[] args){
int n;
long b=0,a;
Scanner s = new Scanner(System.in);
System.out.print("输入数字a的值:");
a = s.nextInt();
System.out.print("输入相加的项数:");
n = s.nextInt();
int i = 0;
long sum = 0;
while(i < n){
b = b + a;
sum = sum + b;
a = a*10;
i++;
}
System.out.print("总数为:" + sum);
}
}


【程序9】

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。

public class TestP9{
public static void main(String[] args){
int n = 1;
while(n < 10){
int b = 0;
for(int i = 1;i <= n/2; i++){
if(n % i == 0){
b = b + i;
}
}
if(n == b){
System.out.print("output the number:" + n);
}
n++;
}
}
}


【程序10】

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多

少米?第10次反弹多高?

public class TestP10{
public static void main(String[] args){
int n = 1;
double m = 100;
double sum = 0;
while(n <= 10){
sum = sum + m*2 ;
n++;
m = m/2;
}
sum = sum -100;
System.out.print("the sum is:" + sum);
System.out.print("the tenth is:" + m);
}
}


这个三个程序,没什么重要的东西,主要是从数学的角度来看问题就可以解决。大家从代码可以看出来,这次我主要用了while来做,其实也可以用for循环来做。看个人喜好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: