当前位置:   article > 正文

蓝桥杯官网练习题(幸运数字)_哈沙德数c++语言

哈沙德数c++语言

问题描述

哈沙德数是指在某个固定的进位制当中,可以被各位数字之和整除的正整数。例如 126 是十进制下的一个哈沙德数,因为 (126)10​mod(1+2+6)=0;126 也是八进制下的哈沙德数,因为 (126)10=(176)8,(126)10mod(1+7+6)=0;同时 126 也是 1616 进制下的哈沙德数,因为 (126)10=(7e)16,(126)10​mod(7+e)=0。小蓝认为,如果一个整数在二进制、八进制、十进制、十六进制下均为哈沙德数,那么这个数字就是幸运数字,第 1 至第 10 个幸运数字的十进制表示为:1,2,4,6,8,40,48,72,120,126…。现在他想知道第 2023 个幸运数字是多少?你只需要告诉小蓝这个整数的十进制表示即可。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python33s256M
PyPy33s256M

  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. int ans=0;
  5. for(int i=1;i<=999999999;i++){
  6. if(i%jinzhi(i,2)==0&&i%jinzhi(i,8)==0&&i%jinzhi(i,10)==0&&i%jinzhi(i,16)==0){
  7. ans++;
  8. }
  9. if(ans==2023){
  10. System.out.println(i);
  11. break;
  12. }
  13. }
  14. }
  15. public static int jinzhi(int i,int n){
  16. int sum=0;
  17. while(i>0){
  18. sum=sum+i%n;
  19. i=i/n;
  20. }
  21. return sum;
  22. }
  23. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/929736
推荐阅读
相关标签
  

闽ICP备14008679号