1023. Have Fun with Numbers (20)
生词以及在文中意思
duplication 重复 permutation 排列 property 属性
import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); String s=sc.next(); int [] a=new int[s.length()]; for(int i=0;i<s.length();i++) { a[i]=s.charAt(i)-48; } boolean IsTrue=true; int sum=0; int [] cnt1=new int[21]; int [] cnt2=new int[21]; int [] result=new int[21]; for(int i=s.length()-1;i>=0;i--) { int n=s.charAt(i)-48; cnt1[n]++; n=2*n+sum; int m=n%10; sum=n/10; result[i]=m; cnt2[m]++; } if(sum!=0) {//如果有进位,把它放在result数组的[s.length()]位置上 IsTrue=false; result[s.length()]=sum; cnt2[sum]++; } int sum1=0; int sum2=0; for(int i=0;i<21;i++) { if(cnt1[i]!=cnt2[i]) { IsTrue=false; } } if(IsTrue) { System.out.println("Yes"); } else { System.out.println("No"); } if(sum==0) { for(int i=0;i<s.length();i++) { System.out.print(result[i]); } } else {//如果有进位,先输出放在后面的进位数字 System.out.print(result[s.length()]); for(int i=0;i<s.length();i++) { System.out.print(result[i]); } } } }