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

牛客周赛 Round 58

D 好好好数

题目大意:

定义k-好数为:可以表示为若干个不同的k的整次幂之和的数字

例如30= 3^3 + 3^1 ,30是一个3-好数

给定一个数n,n最少可以表示成几个k-好数的和

赛事错误思路:

将n转化为k进制,然后将数位上的数字求和,当时想的是求n转换为n个k的整次幂的数

正解:

k进制数位上的最大值即为解,因为一个k-好数可以表示为多个k的整次幂的和

比如三进制下 1010 ,可用(1000+10) 两个k的整次幂表示一个3-好数,

而2020 ,可用 (1000+10)+(1000+10)

2010 可用 (1000+10)+(1000)

注意:

k==1

n可表示为1^1 +1^2+…直到等于n ,因此k==1时 输出1

n<k

只能将n表示为n个k^0 ,因此n<k时 输出n

Solve

void solve()
{ int n,k;cin>>n>>k;if(n<k){cout<<n<<endl;return;}if(k==1){cout<<"1"<<endl;return ;}int ans=0;while(n){ans=max(ans,n%k);n/=k;}cout<<ans<<endl;	
}

http://www.mrgr.cn/news/19079.html

相关文章:

  • hackme靶机通关攻略
  • pikachu文件包含漏洞靶场(本地文件包含+远程文件包含关卡)
  • ​yum安装/更新时报错:SyntaxError: invalid syntax​
  • Linux学习-虚拟化平台安装和使用
  • 操作符的优先级和结合性
  • Java-数据结构-链表-LinkedList(二)|ू・ω・` )
  • 【前端面试】leetcode树javascript
  • 【IPV6从入门到起飞】2-1 获取你的IPV6(手机、CPE等)
  • opencv简单介绍
  • ARM汇编
  • 一阶微分方程的解的存在唯一性定理
  • BaseCTF-week2-wp
  • zdppy+vue3+onlyoffice文档管理系统实战 20240903 上课笔记 登录功能完成
  • 【C++】C++智能指针详解
  • 函数的力量:掌握Python中的“返回值”艺术
  • 【60天备战软考高级系统架构设计师——第七天:架构风格】
  • kafka基础知识(持续更新中~)
  • 单端输入与差分输入
  • 标准库标头 <optional> (C++17)学习之optional
  • redis之缓存淘汰策略