[编程题] 平衡数

牛牛在研究他自己独创的平衡数,平衡数的定义是:将一个数分成左右两部分,分别成为两个新的数。
左右部分必须满足以下两点:
1,左边和右边至少存在一位。
2,左边的数每一位相乘如果等于右边的数每一位相乘,则这个数称为平衡数。
例如:1221这个数,分成12和21的话,12=21,则称1221为平衡数,再例如:1236这个数,可以分成123和123=6,所以1236也是平衡数。而1234无论怎样分也不满足平衡数。
输入描述:
输入一个正整数(int范围内)。

输出描述:
如果该数是平衡数,输出 "YES", 否则输出 "NO"。

输入例子:
1221
1234

输出例子:
YES
NO

import java.util.Scanner;
 
public class Main {
    public static boolean Balance(int n){
        String str=String.valueOf(n);
        int len=str.length();
        int[] a=new int[len];
        for(int i=0;i<len;i++){
            a[i]=Integer.parseInt(String.valueOf(str.charAt(i)));
        }
        int count=0;
        int begin=0;
        int end=len-1;
        int result1=1;
        int result2=1;
        if(n<10)
            return false;
        for(int c:a){
            if(c==0)
                count++;
        }
        if(count>=2)
            return true;
         
        if(count==1)
            return false;
         
        while(begin<=end){
            if(result1<=result2){
                result1*=a[begin];
                begin++;
            }else{
                result2*=a[end];
                end--;
            }
        }
        if(result1==result2)
            return true;
        else
            return false;
         
    }
    public static void main(String arg[]){
        Scanner sc=new Scanner(System.in);  
        int n=sc.nextInt();
        boolean result=Balance(n);
        if(result==true)
            System.out.println("YES");
        else
            System.out.println("NO");
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章数和数的运算 一概念 (一)整数 1整数的意义 自然数和0都是整数。 2自然数 我们在数物体的时候,用来表示...
    meychang阅读 2,678评论 0 5
  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,215评论 1 19
  • [Java编程题90道] 1.完成数组int[] a = {100,40, 60, 87, 34, 11, 56,...
    Mr_不靠谱_先森阅读 5,438评论 0 3
  • 属性 设置内容 设置字体颜色 设置对齐方式 设置字体大小 背景颜色 换行模式 设置最小收缩比例 设置行数 设置文字...
    JerryLMJ阅读 2,910评论 0 4
  • 或许有的人 真的为爱情而活 可是,有错吗 不,没错,那也是一种选择 一种听从于内心的选择 即使最后发现自欺欺人 也...
    安若在阅读 298评论 3 1