/*
* 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
*/
class PrimeFactorization {
int num;// 输入一个数
public PrimeFactorization() {
Scanner sc = new Scanner(System.in);
this.num = sc.nextInt();
sc.close();
}
public void factorization() {
int n = 2;// 定义一个最小的质数
// 如果一个质数刚好等于输入的这个数
if (num == n) {
System.out.println(n);
}
System.out.print(num + "=");
while (num != n) {
// 如果能被整除,就打印出n这个质数
if (num % n == 0) {
System.out.print(n + "*");
num = num / n;// 继续让num作为新的数继续除以n
}
// 如果不能被整除,最小质数+1
if (0 != num % n) {
n++;
}
}
System.out.print(n);
}
}
//测试结果显示
90
90=2*3*3*5
/*
* 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
* 例如2+22+222+2222+22222(此时共有5个数相加)。
*
* 分析:找出2、22、222、 2222、 22222之间的规律,
* 每个数字的差值都是10^1,10^2,10^3,10^4,
* 因此用Java的数学函数可以实现
*/
class NASum {
int iBaseNum, count;// 定义一个数字和出现次数
public NASum() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入数字:");
iBaseNum = sc.nextInt();
System.out.print("请输入该基数出现的次数的数值:");
count = sc.nextInt();
sc.close();
}
public int sum() {
int sum = 0;// 统计结果,求和
int num = 0;
for (int i = 0; i < count; i++) {
num += iBaseNum * Math.pow(10, i);
sum += num;
// 输出s=a+aa+aaa+aaaa+aaaaa的格式
if (i == count - 1)
System.out.print(num);
else
System.out.print(num + "+");
}
System.out.print("=");
return sum;
}
}
//测试结果显示:
请输入数字:2
请输入该基数出现的次数的数值:4
2+22+222+2222=2468
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。求s=a+aa+aaa+aaaa+…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加
最新推荐文章于 2022-05-28 16:45:40 发布