java基础编程练习4

题目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循环来做。看个人喜好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值