Question5:
1、写⼀个函数add,接收两个整数作为参数,返回这两个整数的和。
public class question5 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入第一个参数:");
int a=scanner.nextInt();
System.out.println("输入第二个参数:");
int b=scanner.nextInt();
int add = add(a, b);
System.out.println(add);
}
public static int add(int a,int b){
return a+b;
}
}
2、写⼀个函数,接收⼀个整数,输出这个整数的所有因⼦。
public class question5 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个整数:");
int a=scanner.nextInt();
yinzi(a);
}
public static void yinzi(int a){
for(int i=1;i<a;i++){
if(a%i==0){
System.out.println(i);
}
}
}
}
3、写⼀个函数,接收⼀个整数n,输出1+2+3+…+n 的和。
public class question5 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个整数:");
int a=scanner.nextInt();
add(a);
}
public static void add(int a){
int sum=0;
for(int i=0;i<=a;i++){
sum+=i;
}
System.out.println(sum);
}
}
4、写⼀个函数,接收⼀个整数参数n,输出n 个HelloWorld。
public class question5 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个整数:");
int a=scanner.nextInt();
out(a);
}
public static void out(int a){
for(int i=1;i<=a;i++){
System.out.println("HelloWorld");
}
}
}
5、写⼀个函数,接收⼀个整数,输出这个整数是⼏位数。
public class question5 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个整数:");
int a=scanner.nextInt();
out(a);
}
public static void out(int a){
int tot=0;
do {
tot++;
a=a/10;
} while (a!=0);
System.out.println(tot);
}
}
6、求⼀个三位数,该三位数等与其每位数字的阶乘之和。
public class question5 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个整数:");
long n=scanner.nextLong();
out(n);
}
public static void out(Long n){
long a=n%10; //个位数
long b=n/10%10; //⼗位数
long c=n/100; //百位数
int atot=1,btot=1,ctot=1;
for(int i=1;i<=a;i++){
atot*=i;
}
for(int i=1;i<=b;i++){
btot*=i;
}
for(int i=1;i<=c;i++){
ctot*=i;
}
System.out.println("个位阶乘 "+atot+" + 十位阶乘"+btot+" + 百位阶乘"+ctot+" + "+n+"="+(atot+btot+ctot+n));
}
}
7、 验证哥德巴赫猜想:任何⼀个⼤于6的偶数,都能分解成两个质数的和。要求输⼊⼀个整数,输
出这个数能被分解成哪两个质数的和。
eg : 14
14=3+11
import java.util.Scanner;
public class GedeBahe {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner scanner=new Scanner(System.in);
System.out.println("输入一个大于6的质数:");
int a=scanner.nextInt();
for(int i=2;i<a/2;i++){
int zs1,zs2;
if(Pandaun(i)){
zs1=i;
}else break;
for(int j=a/2;j<a;j++){
if(Pandaun(j)){
zs2=j;
if(zs1+zs2==a){
System.out.println(i+"+"+j+"="+(zs1+zs2));
}
}
}
}
}
public static boolean Pandaun(int num){
for(int i=2;i<num;i++){
if(num%i==0)
return false;
}
return true;
}
}