当前位置: 首页 > news >正文

3499 幸运数字

3499 幸运数字

⭐️难度:困难
🌟考点:2023、模拟、枚举、省赛
📖
在这里插入图片描述

📚

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int cnt = 0;
        for (long i = 1; ; i++) {
            if(cnt == 2023) break;
            if(check10(i) && check2(i) && check8(i) && check16(i)) {
                cnt ++;
                System.out.print(" cnt:" + cnt);
                System.out.println(" i:" + i);
            }
        }
    }
 	// 十进制
    static boolean check10(long x){
        String num = "" + x;
        int sum = 0;
        for (int i = 0; i < num.length(); i++) {
            sum += (num.charAt(i) - '0');
        }
//        System.out.println(" sum:"+sum);
        if(x % sum == 0) return true;
        else return false;
    }
    // 二进制
    static boolean check2(long x){
        String num = Long.toBinaryString(x);
        int sum = 0;
        for (int i = 0; i < num.length(); i++) {
            sum += (num.charAt(i) - '0');
        }
//        System.out.println(" sum:"+sum);
        if(x % sum == 0) return true;
        else return false;
    }
    // 八进制
    static boolean check8(long x){
        String num = Long.toOctalString(x);
        int sum = 0;
        for (int i = 0; i < num.length(); i++) {
            sum += (num.charAt(i) - '0');
        }
//        System.out.println(" sum:"+sum);
        if(x % sum == 0) return true;
        else return false;
    }
    // 十六进制
    static boolean check16(long x){
        String num = Long.toHexString(x);
        int sum = 0;
        for (int i = 0; i < num.length(); i++) {
            if(num.charAt(i) >= 'a' && num.charAt(i) <= 'f'){
                sum = sum + num.charAt(i) - 'a' + 10;
            }
            if(num.charAt(i) >= '0' && num.charAt(i) <= '9'){
                sum = sum + num.charAt(i) - '0';
            }
        }
//        System.out.println(" sum:"+sum);
        if(x % sum == 0) return true;
        else return false;
    }
}

除了16进制有点特别,因为10代表a,所以要取十进制数应该是-'a'+10

简单的题目往往采用最朴素的做法

http://www.dtcms.com/a/110072.html

相关文章:

  • LeetCode 2140.解决智力问题:记忆化搜索(DFS) / 动态规划(DP)
  • 使用 React 和 Konva 实现一个在线画板组件
  • 前端对接下载文件接口、对接dart app
  • 【解决】VsCode中code runner无法使用cin 输入
  • 大学生机器人比赛实战(一)综述篇
  • 用树莓派和ads1115采样模拟量 保姆级教程
  • 基于CYT4BB MCAL完成对DS_SA47321功能开发
  • python match case语法
  • 2025年中级社会工作者考试模拟题
  • 大模型备案材料:评估测试题集真实案例详解
  • 基数排序算法解析与TypeScript实现
  • 《双影奇境》手机版上线?ToDesk用跨平台技术实现「全设备云电脑3A游戏」
  • liunx日志查询常用命令总结
  • Cesium 时间线 及 坐标转换
  • PyTorch复现逻辑回归
  • 高效深度学习lecture03
  • 强化学习DDPG算法
  • 【C++进阶九】继承和虚继承
  • 【新书上市】《STM32嵌入式系统开发—基于STM32CubeMX和HAL库》,高校教学推荐,STM32入门必读书籍!
  • TVM流程及调优
  • skynet.start 的作用详细解析
  • Jira 停售一周年:国产研发管理平台能否扛起替代大旗?
  • 【补题】Xi‘an Invitational 2023 E. Merge the Rectangles
  • 【PHP】- 字符串,数组,字典常用操作
  • Cribl 脱敏mask
  • (三)机器学习---线性回归及其Python实现
  • 聚焦建筑业碳中和,楼宇自控系统应如何发挥建筑节能价值
  • 大语言模型中的嵌入模型
  • (C语言)单链表(2.0)数据结构(指针,单链表教程)
  • 栈和队列的概念