【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是友好的。
编写程序,判断两个数是否是友好数。
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
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); } } }