第7次编程作业

来源:互联网 发布:一建二建难度知乎 编辑:程序博客网 时间:2024/06/18 06:51
1
分解质因数(5分)

题目内容:

每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。

现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。


输入格式:

一个整数,范围在[2,100000]内。


输出格式:

形如:

n=axbxcxd

n=n

所有的符号之间都没有空格,x是小写字母x。


输入样例:

18


输出样例:

18=2x3x3


import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int N = in.nextInt();int ret = 0;int IsPrime = 1;int i;System.out.print("n=");for(i = 2; i < N; i++){if(N % i == 0){ret = N / i;IsPrime = 0;break;}}if(IsPrime == 1){System.out.println(N);}else{System.out.print(i);Again:for(i =2; i < ret; i++){if(ret % i == 0){IsPrime = 0;ret = ret / i;System.out.print("x"+i);continue Again;}IsPrime = 1;}if(IsPrime == 1){System.out.print("x"+i);}else{i--;System.out.print("x"+i);}}}}


2
完数(5分)

题目内容:

一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。

现在,你要写一个程序,读入两个正整数n和m(1<=n<m<1000),输出[n,m]范围内所有的完数。


提示:可以写一个函数来判断某个数是否是完数。


输入格式:

两个正整数,以空格分隔。


输出格式:

其间所有的完数,以空格分隔,最后一个数字后面没有空格。如果没有,则输出一个空行。


输入样例:

1 10


输出样例:

6


import java.util.Scanner;public class Main {public static int IsPerfect(int X){int sum = 0;for(int i = 1; i < X; i++){if(X % i == 0){sum += i;}}if(sum == X){return 1;}else{return 0;}}public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int n = in.nextInt();int m = in.nextInt();intcount = 0;String Str = "";for(; n <= m; n++ ){if(IsPerfect(n) == 1){Str = Str + " " + n;count++;}}if(count == 0){System.out.print('\n');}else{System.out.print(Str.substring(1));}}}




0 0
原创粉丝点击