【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);
}
}
}