【java_蓝桥杯算法训练】算法训练四

判断水仙花数

资源限制
内存限制:128.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s
问题描述
输入一个多位数n,判断是否为水仙花数,如果是则输出“YES”,不是则输出“NO”。水仙花数:是指一个多位数如三位数,它的每个位上的数字的3次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153);若四位数则每个位上的数字的四次幂之和等于它本身。
输入格式
输入一个多位数n。
输出格式
按照题目描述输出对应结果。
样例输入
153
样例输出
YES
数据规模和约定
10<=n<=99999999
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
    Scanner sc=new Scanner(System.in);
    long s=sc.nextLong();
  String s1=Long.toString(s);
    long sum=0;
    long u=s;
    
    while(u>0) {
    	sum+=Math.pow(u%10,s1.length());
//    	System.out.println(sum);
    	u/=10;
    }
    if(sum==s) {
    	System.out.println("YES");
    }else {
    	System.out.println("NO");
	}
	}

}

友好数

资源限制
内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s
问题描述
有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的。例如:
9的约数和有:1+3=4
4的约数和有:1+2=3
所以9和4不是友好的。
220的约数和有:1 2 4 5 10 11 20 22 44 55 110=284
284的约数和有:1 2 4 71 142=220
所以220和284是友好的。
编写程序,判断两个数是否是友好数。
输入格式
一行,两个整数,由空格分隔
输出格式
如果是友好数,输出"yes",否则输出"no",注意不包含引号。
样例输入
220 284
样例输出
yes
数据规模和约定
两个整数都小于10000
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 Scanner sc=new Scanner(System.in);
		 int n=sc.nextInt();
		 int m=sc.nextInt();
         int m1=0,n1=0;
         for (int i = 1; i < m; i++) {
			if(m%i==0) {
				m1+=i;
			}
		}
         if(m1==n) {
        	 for (int i = 1; i <n; i++) {
        		 if(n%i==0) {
     				n1+=i;
     			}
			}
        	 if(n1==m) {
        		 System.out.println("yes");
        	 }else {
        		 System.out.println("no");
        	 }
         }else {
        	 System.out.println("no");
         }
	}

}

数组排序去重

资源限制
内存限制:512.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s
问题描述
输入10个整数组成的序列,要求对其进行升序排序,并去掉重复元素。
输入格式
10个整数。
输出格式
多行输出,每行一个元素。
样例输入
2 2 3 3 1 1 5 5 5 5
样例输出
1
2
3
5
import java.util.HashSet;
import java.util.Scanner;
import java.util.TreeSet;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
//		int arr[]=new int [10];
		TreeSet<Integer> set=new TreeSet<Integer>();
		for (int i = 0; i < 10; i++) {
//			arr[i]=sc.nextInt();
			set.add(sc.nextInt());
		}
		for (int string : set) {
			System.out.println(string);
		}
	}

}




#Java#
全部评论
在有限的时间里多学习些总是没错的
点赞 回复 分享
发布于 2022-08-28 16:54 河南

相关推荐

评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务