【算法】平衡数

【算法】平衡数题目 平衡数的定义是 将一个数分成左右两部分 分别成为两个新的数

大家好,欢迎来到IT知识分享网。

import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextInt()) { System.out.println(isBanlance(in.nextInt())); } } public static String isBanlance(Integer n) { int length = intNum(n); if (n % 10 == 0) { return "NO"; } for (int i = 1; i < length; i++) { int t = (int) Math.pow(10, length - i); int a = n / t; int b = n % t; if (mul(a, intNum(a)) == mul(b, length - intNum(a))) { return "YES"; } } return "NO"; } public static int intNum(int n) { int i = 0; for (i = 1; n / 10 != 0; i++) { n = n / 10; } return i; } public static int mul(int n, int m) { if (n == 0) { return 0; } int mul = 1; int i = 0; while (n != 0) { mul *= n % 10; n = n / 10; i++; } if (i != m) { return 0; } return mul; } }

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/133095.html

(0)
上一篇 2025-07-26 16:45
下一篇 2025-07-26 17:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信