蓝桥杯 省赛 填空题 幸运数字 进位制+算法API

🍑 算法题解专栏


🍑 测试地址
在这里插入图片描述

🍑 答案:215040

🍑 常用算法API

🍤 Integer.toBinaryString(x);// 二进制
🍤 Integer.toOctalString(x); // 八进制
🍤 Integer.toString(x); // 默认十进制
🍤 Integer.toHexString(x);// 十进制
public class Main
{
	public static void main(String[] args)
	{
		int cnt = 0;
		int ans = 0;
		for (int i = 1; i < 1000000; i++)
		{
			if (check(i))
			{
				ans = i;
				System.out.println(cnt + "个: " + ans);
				cnt++;
			}
			if (cnt == 2023)
				break;
		}
		System.out.println(ans);

	}

	private static boolean check(int x)
	{
//		2 8 10 16 进制
		String s2 = Integer.toBinaryString(x);
		String s8 = Integer.toOctalString(x);
		String s10 = Integer.toString(x);
		String s16 = Integer.toHexString(x);

		int n2 = 0;
		for (int i = 0; i < s2.length(); i++)
		{
			n2 += (s2.charAt(i) - '0');
		}

		int n8 = 0;
		for (int i = 0; i < s8.length(); i++)
		{
			n8 += (s8.charAt(i) - '0');
		}

		int n10 = 0;
		for (int i = 0; i < s10.length(); i++)
		{
			n10 += (s10.charAt(i) - '0');
		}

		int n16 = 0;
		for (int i = 0; i < s16.length(); i++)
		{
			char c = s16.charAt(i);
			if (Character.isLetter(c))
			{
				n16 += (c - 'a' + 10);
			} else
			{
				n16 += (c - '0');
			}
		}
		if (x % n2 == 0 && x % n8 == 0 && x % n10 == 0 && x % n16 == 0)
			return true;

		return false;
	}
}

posted @ 2023-04-24 19:10  兑生  阅读(11)  评论(0编辑  收藏  举报  来源
Live2D