关注
第四题 AC public class Main {
private static int[] arr={0,1,2,3,4,5,6,7,8,9};
private static int count=0;
private static Set<String> set=new HashSet<>();
public static void main(String[] args){
Scanner in=new Scanner(System.in);
count=0;
int n=in.nextInt();
if(n<=1)
{
System.out.println(0);
return;
}
int[] arr=new int[n];
for(int i=0;i<n;i++)
{
arr[i]=in.nextInt();
}
is(arr,0);
System.out.println(count);
}
private static void is(int[] arr,int index)
{
if(index>=arr.length)
{
String str=Arrays.toString(arr);
if(!set.contains(str))
{
if(is(arr))
{
count++;
}
set.add(str);
}
}
for(int i=index;i<arr.length;i++)
{
swap(arr,i,index);
is(arr,index+1);
swap(arr,i,index);
}
}
private static void swap(int[] arr,int i,int j)
{
if(i==j)
{
return;
}
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
private static boolean is(int[] arr)
{
for(int i=1;i<arr.length;i++)
{
if(!is(arr[i-1]+arr[i]))
{
return false;
}
}
return true;
}
private static boolean is(int n)
{
double d=Math.sqrt(n);
double ds=0;
for(int a:arr)
{
for(int i=0;i<arr.length;i++)
{
ds=d%arr[i];
if(ds==a)
{
return true;
}
}
}
return false;
}
}
查看原帖
点赞 1
相关推荐
2025-12-08 22:29
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习的你做了哪些离谱的工作 #
3850次浏览 59人参与
# 工作压力大,你会干什么? #
3426次浏览 91人参与
# MiniMax求职进展汇总 #
1421次浏览 25人参与
# 参加哪些竞赛对找工作有帮助? #
3843次浏览 75人参与
# 邪修省钱套路 #
2818次浏览 107人参与
# 我的付费上班经历 #
5962次浏览 106人参与
# 找实习记录 #
8443次浏览 149人参与
# AI让你的思考变深了还是变浅了? #
1179次浏览 38人参与
# 如果不上班,你会去做什么 #
2499次浏览 88人参与
# 为了入行xx岗,我学了__ #
2017次浏览 37人参与
# 简历第一个项目做什么 #
2121次浏览 50人参与
# 你找工作的时候用AI吗? #
167490次浏览 868人参与
# 如何排解工作中的焦虑 #
257983次浏览 2384人参与
# 毕业论文进行时 #
24898次浏览 146人参与
# 大厂面试初体验 #
86613次浏览 398人参与
# 机械人的薪资开到多少,才适合去? #
159540次浏览 560人参与
# 你们的毕业论文什么进度了 #
1236329次浏览 9925人参与
# 你觉得面试是靠实力还是靠运气 #
27575次浏览 313人参与
# 毕业旅行去哪玩儿 #
21869次浏览 148人参与
# 硬件人秋招进展 #
265634次浏览 3971人参与
# 职场新人体验 #
160832次浏览 1149人参与
查看12道真题和解析