每日一道编程题:niven 数

实现哈沙德数算法(Harshad Number)的Java代码 首先,让我们来了解一下哈沙德数的定义。一个数N被它的各个位数之和整除的条件是:N mod sumOfDigits(N) = 0,其中sumOfDigits(N)表示N的各个位数之和。哈沙德数(Harshad Number),也称为Niven数,是指一个自然数,它可以被它的各个位数的数字之和整除。在本文中,我将向您展示如何使用Java编写一个程序来确定一个数是否为哈沙德数。方法用于计算一个数的各个位数之和,它采用了一个循环来逐位获取数字,并将其相加。方法来获取各位数之和,并检查该数是否能被各位数之和整除。 阅读详情

题目

一个数的自身能够被其各位数之和整除,则称这个数为Niven数。
例如:111是Niven数。因为111 mod (1+1+1)=0。
同样地, 我们也可以在另一个b进制数中指定一个数字,如果它的数字之和能够整除它,则b进制数中的该数字是Niven数。
例如:二进制数 1010是Niven数,因为:二进制数1010转为十进制后是10,而10 mod(1+0+1+0)=0;

给出 数制b (2<=b<=10) 和一个b数制的数,你要判断这个数是否是Niven数。
输入数据包含多组数据。

输入格式

每个测试数据占一行,先是数制b,之后是一个合法的数制中的数。
b为0表示测试块结束。

输出格式

如果该数在该数制为Niven数,就输出"yes",否则输出"no"。
两个测试块之间用空行隔开。

输出样例

10 111
2 110
10 123
6 1000
8 2314
0

输入样例

yes
yes
no
yes
no

题解

#include <bits/stdc++.h>
using namespace std;
 
bool niven(string a,int b)
{
    int sjz=0,tot=0,cur=1;
    for(int i=0; i<a.length(); i++)
    {
        tot+=(a[i]-'0');
    }
    for(int i=a.length()-1; i>=0; i--)
    {
        sjz+=(a[i]-'0')*cur;
        cur*=b;
    }
    return sjz%tot==0;
}
 
int main()
{
    string a;
    int b;
    while(cin>>b && b!=0)
    {
        cin>>a;
        if(niven(a,b))
            cout<<"yes"<<endl;
        else
            cout<<"no"<<endl;
    }
    return 0;
}
(NML-01)Numbers: Rational and Irrational by Ivan Niven -美国新数学丛书英文版第一册-有理数和无理数 美国新数学丛书 英文版 第一册 (NML-01)Numbers: Rational and Irrational by Ivan Niven 有理数和无理数 立即下载

相关推荐

STM32串口DMA双缓冲机制实战:提升数据传输效率的终极方案

本文深入解析了STM32串口DMA双缓冲机制的核心原理与实战配置。通过对比传统中断方式,阐述了双缓冲如何实现数据接收与处理的“无缝接力”,从而在工业传感器数据采集等高负载场景下,将CPU占用率降至极低水平并彻底避免数据丢失。文章提供了基于标准外设库的详细配置步骤、中断处理逻辑及性能实测数据,是提升嵌入式系统串口通信效率和可靠性的终极方案。

weixin_29192365的博客 80

7-7 尼文数

7-7 尼文数 如果一个数的各位数字之和能整除它本身,这样的数叫尼文数(Niven)。如111是尼文数,因为它的各位数字之和是3,能够整除111。同样,对于其他进制下,也存在尼文数。如二进制下110是一个尼文数,因为二进制数110的各位数字之和是2,能够整除它的值6。现在请你判断一下b进制数n是不是一个尼文数。其中2<=b<=10。 输入格式: 有多组测试数据。每组测试数据包含一行中用空格分隔的两个数b和n,b=0时结束输入。 输出格式: 如果这组测试数据中的n是尼文数,在一行上输出"yes",

高电平的博客 442

PyQt5混搭qfluentwidgets实战:用FramelessWindow快速打造现代化界面

本文详细介绍了如何将PyQt5与qfluentwidgets组件库结合,利用FramelessWindow快速打造现代化无边框界面。通过环境配置、核心特性解析、组件混用技巧及高级样式定制,帮助开发者提升桌面应用的用户体验和美观度,特别适合需要现代UI设计的Python开发者。

sugar的博客 969

niven数

例如:二进制数 1010是Niven数,因为:二进制数1010转为十进制后是10,而10 mod(1+0+1+0)=0;给出 数制b (2<=b<=10) 和一个b数制的数,你要判断这个数是否是Niven数。因为111 mod (1+1+1)=0。如果该数在该数制为Niven数,就输出"yes",否则输出"no"。每个测试数据占一行,先是数制b,之后是一个合法的数制中的数。一个Niven数就是一个它的各位数字之和能整除它本身的数,同样地, 在其他数制,我们仍能有这样的Niven数。b为0表示测试块结束。

Aster_HwPin的博客 370

SAP SD模块进阶:VA31和VA01底层竟是同一个BAPI?揭秘销售单据创建的统一逻辑

本文深入解析SAP SD模块中VA31和VA01的底层统一架构设计,揭示两者如何通过同一个BAPI `SD_SALESDOCUMENT_CREATE`实现销售单据创建。通过ABAP调试和参数化设计分析,展示了SAP如何利用单据类型(doc_type)等关键字段实现业务逻辑复用,为开发者提供配置化设计的重要启示。

weixin_30561177的博客 245

Cursor 团队代码规范与开发规则

本文提出了一套 Cursor 项目开发规范,涵盖代码结构、命名、日志、测试等关键环节,旨在提升代码质量和团队协作效率。核心规则包括:文件不超过2000行、函数不超过80行;变量命名禁用无意义单词;日志只记录关键信息;配置项禁止硬编码;依赖和敏感信息统一管理;核心逻辑测试覆盖率≥80%;Git提交遵循Conventional Commits规范。通过一个车辆数据处理函数的改造案例,展示了从"不规范"到"规范"的代码优化过程,体现了拆分函数、常量管理、错误处理等规范的实际

1257

Niven数

Niven数 题目描述 一个数的自身能够被其各位数之和整除,则称这个数为Niven数。例如,111是Niven数,因为它的各位数之和是3,111能够被3整除。我们也可以在另一个b进制数中指定一个数字,如果它的数字之和能够整除它,则b进制数中的该数字是Niven数。给定b(2 <= b <= 10)和b进制数中的一个数字,确定它是否是Niven数。 输入 你将获得一些测试用例。...

算法小猪的博客 1006

从毫米波到计算机视觉:智能座舱监控系统的多模态技术融合

本文探讨了智能座舱监控系统中多模态技术融合的创新应用,涵盖毫米波雷达、红外传感与计算机视觉的协同架构。通过传感器时空对齐、低光照算法突破及隐私保护设计,系统在DMS、OMS等场景实现99.7%的检测准确率,同时优化成本至$45以内,为汽车智能化提供关键技术支撑。

d6e7f8的博客 904

Python中使用多种方法输出哈沙德数

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。除了使用循环,还可以使用递归的方式来计算各位数字之和。

Trb401012的博客 484

Tiktok/抖音旋转验证码

主要记录一下旋转验证码的逆向思路

记录一些web逆向的过程 5978

工程测量不用愁,120个视频动画帮你忙,简单易学直观明了!

工程测量不用愁,120个视频动画帮你忙,简单易学直观明了!文末提供下载地址。 下载地址: 链接:https://pan.baidu.com/s/11S6XDq9Eaa3DG3VKRMBIPg

智慧空间实验室 1019

例9002 Niven数

例9002 Niven数 Time Limit: 1000/1000MS (C++/Others) Memory Limit: 65536/65536KB (C++/Others) Total Submissions: 76 Accepted Submissions: 46 Problem Description Niven数的定义是这样的:如果一个数字能被它的各位数字之和整除,那么这个数就是Niven数。例如,111就是个Niven数,因为111的各位数字之和为3,而111能被3整除。我们也可以在其他进制

WA自动机 458

【Embabel Agent】生产级最佳实践与避坑指南

本文围绕架构师最关心的 8 大维度展开:测试策略(FakeOperationContext 实现 Action 级单元测试、Prompt 质量与敏感信息校验)、MCP 集成实战(STDIO/HTTP 双模式、自建 Server、Docker MCP 生态)、RAG 检索增强、OpenTelemetry 全链路可观测性与追踪、Docker/K8s 生产部署、API Key 管理与 @Tool 安全防护、模型选择/缓存/并行等性能优化,以及过度依赖 LLM、忽略错误处理等 8 大常见反模式避坑指南。

program哲学 309

Niven Numbers

A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a numbe

老白号的专栏 2407

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ZOJ 1154 Niven Numbers

题目大意: 题目链接 注释代码: 无注释代码: 单词解释:

源代码 827

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Niven Numbers 进制转换

Niven Numbers Time Limit: 2 Seconds      Memory Limit: 65536 KB A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of i

u011455899的专栏 915

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ZOJ1154 Niven Numbers【进制】

Niven Numbers Time Limit: 2 Seconds Memory Limit: 65536 KB A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its dig...

海岛Blog 623

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 351

把 KV Cache 压到 FP4:BitDecoding-FP4 的算法-系统协同设计复盘

长上下文推理卡在KV Cache的显存与带宽上,而现有FP4方案要么精度崩、要么速度废。这篇文章复盘BitDecoding-FP4如何用三个算法补丁加一个系统重构,在B300上把服务吞吐提升2.4–3.0倍,精度几乎不掉。

helloagent的博客 312

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 332

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 606

优选算法:分治-归并排序

交易逆序对的总数

Wangshijie1015的博客 148

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 24

408 算法 06|堆与 Top-K:最小的 10 个数,到底该用数组还是堆

2022(42) 找 100 万个数里最小的 10 个,官方给了"10 元素有序数组"和"大根堆"两种答案。我把两种都实现并数了比较次数:k=10 时两者几乎打平,k=10000 时堆少 111 倍。另附 2021(42) 计数排序的比较次数与稳定性实测。

m0_56226131的博客 440

408 算法 04|主元素与三元组最小距离:两种“扫描时做决定“的思路

2013(41) 的主元素用摩尔投票一遍选出候选,但真正的考点是"选完必须验票";2020(41) 的三元组最小距离,三指针每次只挪最小的那个,靠的是 D=2×(max−min) 这个恒等式。两套完整 C 代码加真实输出,附官方评分档位表。

m0_56226131的博客 426
上一篇: 高精度乘法C++实现
下一篇: 每日一道编程题:回文数
Python_enjoy
博客等级 码龄4年 1201粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值