首页 > 编程语言 >1096 大美数(JAVA)

1096 大美数(JAVA)

时间:2022-10-17 19:09:54浏览次数:34  
标签:1096 set JAVA int list 大美数 static new 正整数


若正整数 N 可以整除它的 4 个不同正因数之和,则称这样的正整数为“大美数”。本题就要求你判断任一给定的正整数是否是“大美数”。

输入格式:

输入在第一行中给出正整数 K(≤10),随后一行给出 K 个待检测的、不超过 104 的正整数。

输出格式:

对每个需要检测的数字,如果它是大美数就在一行中输出 ​​Yes​​​,否则输出 ​​No​​。

输入样例:

3
18 29 40

输出样例:

Yes
No
Yes

代码实现:

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;

/**
* @author yx
* @date 2022-07-27 14:15
*/
public class Main {
static PrintWriter out=new PrintWriter(System.out);
static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
static StreamTokenizer in=new StreamTokenizer(ins);

public static void main(String[] args) throws IOException {
in.nextToken();
int k=(int) in.nval;
for (int i = 0; i < k; i++) {
in.nextToken();
int n=(int) in.nval;
if(isDam(n)){
System.out.println("Yes");
}else {
System.out.println("No");
}
}
}
static boolean isDam(int n){
HashSet<Integer> set=new HashSet<>();
for (int i = 1; i*i <=n ; i++) {
if(n%i==0){
set.add(i);
set.add(n/i);
}
}
ArrayList<Integer> list=new ArrayList<>(set);
Collections.sort(list);
for (int i = 0; i <list.size() ; i++) {
for (int j = i+1; j < list.size(); j++) {
for (int k = j+1; k <list.size() ; k++) {
for (int l = k+1; l < list.size(); l++) {
int sum=list.get(i)+list.get(j)+list.get(k)+list.get(l);
if(sum%n==0){
return true;
}
}
}
}
}
return false;
}
}

 

1096 大美数(JAVA)_java

 

标签:1096,set,JAVA,int,list,大美数,static,new,正整数
From: https://blog.51cto.com/u_15754851/5763816

相关文章

  • 1098 岩洞施工(JAVA)
    要将一条直径至少为1个单位的长管道水平送入地形复杂的岩洞中,究竟是否可能?下面的两幅图分别给出了岩洞的剖面图,深蓝色的折线勾勒出岩洞顶部和底部的轮廓。图1是有可能的......
  • 1100 校庆(JAVA)
    2019年浙江大学将要庆祝成立122周年。为了准备校庆,校友会收集了所有校友的身份证号。现在需要请你编写程序,根据来参加校庆的所有人士的身份证号,统计来了多少校友。输入格......
  • 1102 教超冠军卷(JAVA)
    “教育超市”是拼题A系统的一个衍生产品,发布了各种试卷和练习供用户选购。在试卷列表中,系统不仅列出了每份试卷的单价,还显示了当前的购买人次。本题就请你根据这些信息找......
  • 1101 B是A的多少倍(JAVA)
    设一个数A的最低D位形成的数是ad。如果把ad截下来移到A的最高位前面,就形成了一个新的数B。B是A的多少倍?例如将12345的最低2位45截下来放到123的前面,就......
  • 1103 缘分数(JAVA)
    所谓缘分数是指这样一对正整数a和b,其中a和它的小弟a−1的立方差正好是另一个整数c的平方,而c正好是b和它的小弟b−1的平方和。例如83−73=169=132,而13=32+2......
  • 1105 链表合并(JAVA)
    给定两个单链表L1=a1→a2→⋯→an−1→an和L2=b1→b2→⋯→bm−1→bm。如果n≥2m,你的任务是将比较短的那个链表逆序,然后将之并入比较长的那个链表,得到一个形如a1→a2→......
  • 1107 老鼠爱大米(JAVA)
    翁恺老师曾经设计过一款Java挑战游戏,叫“老鼠爱大米”(或许因为他的外号叫“胖胖鼠”)。每个玩家用Java代码控制一只鼠,目标是抢吃尽可能多的大米让自己变成胖胖鼠,最胖的那......
  • 1108 String复读机(JAVA)
    给定一个长度不超过104的、仅由英文字母构成的字符串。请将字符重新调整顺序,按​​StringString....​​​(注意区分大小写)这样的顺序输出,并忽略其它字符。当然,六种字符......
  • 1109 擅长C(JAVA)
    当你被面试官要求用C写一个“HelloWorld”时,有本事像下图显示的那样写一个出来吗?输入格式:输入首先给出26个英文大写字母A-Z,每个字母用一个7×5的、由​​C​​​......
  • Java学习——Spring初学
    最近几天有在开始学习Spring框架开发,虽说学的比较晚,但是自我感觉学习的很快 笔记:1.Spring的出现,是为了高效的完成软件开发,依照软件设计模式的“高内聚低耦合”原则......