编写程序,读入一个整数,然后以升序显示它的所有最小因子,并对这些因子进行求和输出。

题目内容:

编写程序,读入一个整数,然后以升序显示它的所有最小因子,并对这些因子进行求和输出。

输入格式:

整数,number为输入的整数, 数组factor存储因子

输出格式:

System.out.print(number + “'s factor series:”);

System.out.print(factor[i] + ", ");

System.out.println("\nthe sum of factors is " + sum);

输入样例:

100

输出样例:

100’s factor series:2, 2, 5, 5,

the sum of factors is 14

import java.util.Scanner; 
public class Main { 
	public static void main(String[] args) { 
		Scanner input = new Scanner(System.in); 
		//System.out.println("Enter number:"); 
		int n1 = input.nextInt();
		int number = n1;
		int d = 2; //d为因子 
		int s = 1;
		int sum=0;
		int flat = -1;
		int factor[] = new int[9];
		while(d<=n1){ 
			if(n1%d==0){ 
				flat++;
				//System.out.println("这个数的因子:"+d);
				sum += d;
				factor[flat] = d;
				s=n1/d; //s为商 
				n1=s;   //重新赋值 
				continue;
			} 

			d++; 
		}
		System.out.print(number + "'s factor series:");
		for(int i=0;i<flat+1;i++) {
		System.out.print(factor[i] + ", ");
		}
		System.out.println("\nthe sum of factors is " + sum);
	} 
}

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值