- /*
- * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
- * 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
- */
- import java.util.Scanner;
- public class Prog8 {
- public static void main(String[] args){
- Scanner in=new Scanner(System.in);
- System.out.println("输入正整数a:");
- int a=in.nextInt();
- System.out.println("输入正整数a的最大位数");
- int b=in.nextInt();
- in.close();
- //定义2个计数器
- int count=0,d=0;
- //使用do while原因,太久未使用,练习下
- do{
- //d每次循环格式都是a+aa+aaa+aaaa+aa...a
- d=(d*10)+a;
- //count计算合
- count=count+d;
- }while((b=b-1)>0);
- System.out.println(count);
- }
- }
复制代码
- /*
- * 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
- * 例如6=1+2+3.编程找出1000以内的
- */
- public class Prog9 {
- public static void main(String[] args){
- for(int i=2;i<1000;i++){
- //定义变量记录因子的合
- int sum=0;
- //查找因数
- for(int j=1;j<i;j++){
- if(i%j==0){
- sum +=j;
- }
- }
- //进行比较,打印完数
- if(sum==i){
- System.out.println(i);
- }
- }
- }
- }
复制代码 |
|