蓝桥杯真题:幸运数字

这道题可以用 integer.string()求每个进制的数,但这里要每一位数相加,所以用这个方法会比较麻烦,如下

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int xy=1;int k=1;int number=0;while (number<2023){if(isxy(k)){xy=k;number++;}k++;}System.out.println(xy);scan.close();}public static boolean isxy(int k){String k_2=Integer.toString(k, 2);String k_8=Integer.toString(k, 8);String k_16=Integer.toString(k,16);String k_10=Integer.toString(k,10);return ishsd(k, k_2) && ishsd(k, k_8) && ishsd(k, k_16) && ishsd(k, k_10);}public static boolean ishsd(int k,String x){int sum=0;//各位数之和;for(int i=0;i<x.length();i++){if((int)x.charAt(i)-59<=0){sum=sum+(int)x.charAt(i)-48;}else{sum=sum+(int)x.charAt(i)-87;}}return k % sum == 0;}
}

所以这道题用其他的方法会更方便,如下

public class Main {public static void main(String[] args) {int cnt = 0;for(int i=1; ; i++){if(check(i, 2) && check(i, 8) && check(i, 10) && check(i, 16)) cnt++;if(cnt == 2023){System.out.println(i);break;}}}//判断是否为mod进制下的哈沙德数public static boolean check(int x, int mod){int n = x;int ans = 0;while(x>0){ans = ans+ x%mod;x /= mod;}return n%ans==0;}
}

就像十进制数对十取余一样,能取出这个十进制数的最后一位,如果再除以10,再取余就可以,这样循环就可以取出每一位上的数字,所以十进制数对2 8 16求余也能取出,2 8 16进制下的最后一位数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/564162.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关系型数据库mysql(4)事务

目录 一.事务的概念 1.事务的定义 2.事务的特点 2.1原子性 2.2一致性 2.4持久性 3.事务之间的相互影响 3.1脏读 3.2不可重复读 3.3幻读 3.4丢失更新 4. 事务的隔离级别&#xff08;如何解决事务的干扰&#xff09; 4.1查询全局事务隔离级别 4.2查询全局事务 …

浩哥带你做项目,纯免费教学

浩哥带你做项目 一、YiYi-Web项目开发1. 简介2. 技术栈2.1 后端开发环境2.2 前端开发环境 3.项目截图 二、计算机游戏程序设计&#xff08;基础篇&#xff09;三、RuoYi-Cloud项目学习1.功能介绍2.项目截图 四、鸿蒙应用开发五、软考六、Linux基础知识学习 最近浩哥社区群涌进大…

Qt 写一个邮件发送程序

最近在完成一个邮箱代替的告警功能&#xff0c;写了一个邮件发送的demo 以下为代码&#xff1a; #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include<QTcpSocket> namespace Ui { class MainWindow; }class MainWindow : public QMainWin…

证明:指数函数和阶乘谁增长的更快?

先说结论&#xff0c;阶乘增长速度比指数函数快&#xff0c;也就是说&#xff1a; 可以用简单的指数函数y4^x的图形和阶乘函数图形做一个对比&#xff0c;可以发现&#xff0c;在自变量取值比较小的时候&#xff0c;指数函数&#xff08;红色&#xff09;是大于阶乘的&#xff…

华为云优惠券在哪里领取?

华为云作为华为旗下的云服务品牌&#xff0c;一直致力于为广大用户提供稳定、高效的云服务体验。为了吸引用户上云&#xff0c;华为云经常推出各种优惠活动&#xff0c;其中最常见的就是发放优惠券。那么&#xff0c;华为云优惠券在哪里领取呢&#xff1f;本文将为大家详细解答…

基于java+springboot+vue实现的宿舍管理系统(文末源码+Lw+ppt)23-597

摘 要 随着信息时代的来临&#xff0c;过去的传统管理方式缺点逐渐暴露&#xff0c;对过去的传统管理方式的缺点进行分析&#xff0c;采取计算机方式构建宿舍管理系统。本文通过课题背景、课题目的及意义相关技术&#xff0c;提出了一种楼宇信息、宿舍信息、宿舍安排、缺勤信…

二维码门楼牌管理应用平台建设:核采任务数据生产的新模式

文章目录 前言一、任务包下发与领取&#xff1a;确保外业数据核采的准确性二、基于小区面、建筑物面数据的标准化任务生成三、外业队伍联动开展核采工作四、二维码门楼牌管理应用平台的优化与发展 前言 随着城市管理的数字化进程加速&#xff0c;二维码门楼牌管理应用平台的建…

C语言整数和浮点数在内存中的存储

目录 一.整数在内存中的存储二.浮点数在内存中的存储1.浮点数存的过程2.浮点数取的过程1.E不全为0或E不全为12.E全为03.E全为1 三.浮点数的例题 一.整数在内存中的存储 整数在内存中是以二进制的补码存储的 正整数的源码 反码 补码 都一样&#xff0c;首位的符号位为0 负整数的…

计算机常见的知识点(3)

计算机系统 系统的构成 一个完整的计算机系统是由硬件和软件组成 硬件是由运算器、控制器、存储器、输入设备、输出设备五部分组成 其中&#xff1a;中央处理器(简称CPU)运算器控制器 主机中央处理器主存储器 计算机软件包括计算机本身运行所需要的系统软件和用户完成任务…

jacoco使用示例与常用配置说明

基本概念 有时候&#xff0c;对于一些重要的项目或者重点类&#xff0c;我们希望重点测试&#xff0c;但是我们怎么评估测试质量呢&#xff1f; 这个时候&#xff0c;或许就需要jacoco了。 接下来&#xff0c;我们就来了解一下jacoco的基本概念与使用。 以及在某些条件不允…

Redis - list 列表

前言 列表类似于 Java 中的数组或者顺序表&#xff0c;在 Redis 中&#xff0c;可以对列表两端插⼊&#xff08;push&#xff09;和弹出&#xff08;pop&#xff09;&#xff0c;还可以获取指定范围的元素列表、 获取指定索引下标的元素等。列表是⼀种⽐较灵活的数据结构&#…

Loss-Attention

辅助信息 作者不开issue了&#xff0c;不建议复现