Smile9870

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

}

 

posted on 2018-01-05 11:38  Smile9870  阅读(166)  评论(0编辑  收藏  举报

导航