牛牛有一个正整数x,牛牛需要把数字x中的数位进行重排得到一个新数(不同于x的数),牛牛想知道这个新数是否可能是原x的倍数。请你来帮他解决这个问题。-笔试面试资料

这是qklbishe.com第9828 篇笔试面试资料
提供答案分析,通过本文《牛牛有一个正整数x,牛牛需要把数字x中的数位进行重排得到一个新数(不同于x的数),牛牛想知道这个新数是否可能是原x的倍数。请你来帮他解决这个问题。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:
牛牛有一个正整数x,牛牛需要把数字x中的数位进行重排得到一个新数(不同于x的数),牛牛想知道这个新数是否可能是原x的倍数。请你来帮他解决这个问题。

牛牛有一个正整数x,牛牛需要把数字x中的数位进行重排得到一个新数(不同于x的数),牛牛想知道这个新数是否可能是原x的倍数。请你来帮他解决这个问题。 区块链毕设学生75645561号
import java.util.Scanner; import java.util.Arrays; //思路:逆向思维,主动找出x的2至9倍的数字y,再判断数字y是否是由x交换数位得到。 //1、若x与y的位数不同,返回false //2、如果x,y位数相同,分别将x,y的数位存入数组arr1[],arr2[],然后再sort,再比较 public class Main {     public static void main(String[] args) {         Scanner in = new Scanner(System.in);         int t = in.nextInt();         int []arr = new int[t];         for(int i=0;i<t;i++){             arr[i]=in.nextInt();         }         for(int i=0;i<t;i++)             for(int j=2;j<=9;j++){                 if(judge(arr[i],arr[i]*j))                 {                     System.out.println("Possible");                     break;                 }                 if(j==9){                     System.out.println("Impossible");                 }             }     }     public static boolean judge(int x,int y){         String s1 = ""+x;         String s2 = ""+y;         if(s1.length()!=s2.length())             return false;         int []arr1 = new int[s1.length()];         for(int i=0;i<s1.length();i++){             arr1[i] = s1.charAt(i)-'0';         }         Arrays.sort(arr1);         int [] arr2 = new int[s2.length()];         for(int i=0;i<s2.length();i++){             arr2[i]=s2.charAt(i)-'0';         }         Arrays.sort(arr2);         for(int i=0;i<s1.length();i++){             if(arr1[i]!=arr2[i]){                 return false;             }         }         return true;     } }

2021-04-20 21:46:53 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 牛牛有一个正整数x,牛牛需要把数字x中的数位进行重排得到一个新数(不同于x的数),牛牛想知道这个新数是否可能是原x的倍数。请你来帮他解决这个问题。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情