D. Make It Round(math)

news2024/11/17 13:32:44

Problem - D - Codeforces

 

在Berlandia发生了通货膨胀,所以商店需要改变商品的价格。

商品n的当前价格已经给出。允许将该商品的价格提高k倍,1≤k≤m,k为整数。输出商品的最圆的可能的新价格。也就是在最后有最大数量的零的那个。

例如,数字481000比数字1000010更圆(481000的末尾有三个零,而1000010的末尾只有一个零)。

如果有几个可能的变体,输出新价格最大的那个。

如果不可能得到一个更圆的价格,则输出n⋅m(即可能的最大价格)。

输入
第一行包含一个整数t(1≤t≤104)--测试中测试用例的数量。

每个测试用例由一行组成。

这一行包含两个整数:n和m(1≤n,m≤109)。其中n是商品的旧价格,数字m意味着你可以增加价格n不超过m倍。

输出
对于每个测试案例,在单独的一行中输出形式为n⋅k(1≤k≤m,k-一个整数)的最圆整数。

如果有几个可能的变体,则输出新价格(值n⋅k)最大的那一个。

如果不可能得到一个更圆的价格,则输出n⋅m(即可能的最大价格)。

例子
输入复制
10
6 11
5 43
13 5
4 16
10050 12345
2 6
4 30
25 10
2 81
1 7
输出拷贝
60
200
65
60
120600000
10
100
200
100
7
备注
在第一种情况下n=6,m=11。我们不能得到一个末尾有两个零或更多的数字,因为我们需要将价格提高50倍,但50>m=11。10的最大价格倍数将是6⋅10=60。

在第二种情况下,n=5,m=43。100的最大价格倍数将是5⋅40=200。

在第三种情况下,n=13,m=5。所有可能的新价格都不会以0结尾,那么你应该输出n⋅m=65。

在第四种情况下,你应该将价格提高15倍。

在第五种情况下,将价格提高12000倍。

题解:

要找相乘最后最多的0并且最大,我么首先要知道2*5 = 10

至于其他的5*6  5*8 4*5虽然也是后面有0,但他们都可分解为2*5,其他的值(例如2*5*3)只会影响其大小,不会影响其0的数目

所以我们先找n中有几个2,几个5

假设n中有2个2,4个5,那我们应该找m是可以有2个5,如果满足,再找10的数目,知道找到不能找为止,当然,最后可能虽然不为10,但是为2~9也要乘上

#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<map>
#include<vector>
#include<queue>
using namespace std;
char a[105][105];
void solve()
{
	long long n,m;
	cin >>n >> m;
	int cnt2 = 0,cnt5 = 0;
	int k = n;
	while(k%2 == 0)
	{
		cnt2 ++;
		k = k/2;
	}
	//k = n;
	while(k%5 == 0)
	{
		cnt5 ++;
		k = k /5; 
	}
	long long ans = 1;
	while(cnt5 > cnt2&& m/2)
	{
		cnt5--;
		n*=2;
		m/=2;
	}
	while(cnt2 > cnt5&& m/5)
	{
		cnt2--;
		n *=5;
		m/=5;
	}
	while(ans*10 <= m)
	{
		ans = ans*10;
	}
	ans = m/ans*ans;
	cout<<ans*n<<"\n";
	
}
int main()
{
	int t = 1;
	cin >> t;
	while(t--)
	{
		solve();
	}
}
//1 4
//2 1
//2 4
//3 4


//1 2
//1 3
//2 3

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开发工程师的面经

目录1. static关键字2. 多态是什么&#xff1f;3. ArrayList和LinkList的区别区别ArrayList的扩容机制4. Java是编译型还是解释型&#xff1f;5. 什么是编译&#xff1f;什么是解释&#xff1f;6. String str“abc” 和 String str new String(“abc”)的区别&#xff1f;7. i…

C\C++刷题ADY3

题目来源&#xff1a;力扣 1.第一题 203. 移除链表元素 - 力扣&#xff08;LeetCode&#xff09; 思路分析:&#xff08;不带哨兵位的头节点&#xff09; 每次去分析一个节点&#xff0c; 如果节点不是存的是6&#xff0c;就拿节点来尾插 如果节点存的不是6&#xff0c;就把节…

计算机毕业设计ssm+vue基本微信小程序的“香草屋”饮料奶茶点单小程序

项目介绍 随着社会的发展,互联网的迅速发展,5G时代的到来,智能手机的普及,人们的生活方式更加智能一体化,衣食住行也越来越简单快捷,人们的生活也更加趋向于智能化,一台智能手机可以解决生活中的各种难题。为了使人们的生活更加方便,于是各种生活小程序普遍产生, 随着微信小程序…

记一次 .NET 某自动化采集软件 崩溃分析

一&#xff1a;背景 1.讲故事 前段时间有位朋友找到我&#xff0c;说他的程序在客户的机器上跑着跑着会出现偶发卡死&#xff0c;然后就崩掉了&#xff0c;但在本地怎么也没复现&#xff0c;dump也抓到了&#xff0c;让我帮忙看下到底怎么回事&#xff0c;其实崩溃类的dump也…

java项目-第155期ssm班级同学录网站-java毕业设计_计算机毕业设计

java项目-第155期ssm班级同学录网站-java毕业设计_计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm班级同学录网站》 该项目分为2个角色&#xff0c;管理员、用户。 用户可以浏览前台,包含功能有&#xff1a; 首页、公告信息、校友风采、论坛信息&#xff0c;用…

vue项目中使用 NProgress 进度加载插件

场景&#xff1a;每次进入页面时&#xff0c;页面顶部都有一个加载条 下来说下这个效果怎么实现的 第一步&#xff1a;下载 NProgress 插件 npm install --save nprogress 第二步&#xff1a;导入 nprogress 并配置 切记&#xff1a;NP 都必须是大写 我是在路由页面中导入的 im…

搜索引擎项目开发过程以及重难点整理

目录认识搜索引擎搜索的核心思路倒排索引介绍项目简介模块管理构建索引模块数据库设计正排索引倒排索引程序入口类Indexer类扫描文档子模块FileScanner类构建文档子模块构建标题parseTitle方法构建urlparseUrl方法构建内容parseContent方法构建正排索引子模块正排索引实体类map…

Nginz静态资源缓存

缓存 缓存&#xff08;cache&#xff09;&#xff0c;原始意义是指访问速度比一般随机存取存储器&#xff08;RAM&#xff09;快的一种高速存储器&#xff0c;通常它不像系统主存那样使用DRAM技术&#xff0c;而使用昂贵但较快速的SRAM技术。缓存的设置是所有现代计算机系统发…

【前端-TypeScript】TypeScript学习思维导图-一图看完《TypeScript编程》

目录前言文章已收录至https://lichong.work&#xff0c;转载请注明原文链接。 ps&#xff1a;欢迎关注公众号“Fun肆编程”或添加我的私人微信交流经验&#x1f91d; 前言 现在&#xff0c;TypeScript 正在逐渐成为与前端框架以及 ES6 语法同一地位的基础工具&#xff0c;更多…

计算机毕业设计node+vue基于微信小程序的西餐外卖系统 uniapp 小程序

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,西餐外卖系统就是信息时代变革中的产物之一。 任何系统都要遵循系统…

力扣每日一题:808. 分汤 【dp动态规划】

有 A 和 B 两种类型 的汤。一开始每种类型的汤有 n 毫升。有四种分配操作&#xff1a; 提供 100ml 的 汤A 和 0ml 的 汤B 。提供 75ml 的 汤A 和 25ml 的 汤B 。提供 50ml 的 汤A 和 50ml 的 汤B 。提供 25ml 的 汤A 和 75ml 的 汤B 。 当我们把汤分配给某人之后&#xff0c;汤…

CentOS8 安装 erlang 和 RabbitMQ

哈喽大家好&#xff0c;我是阿Q&#xff01; 最近正好用到了消息队列中的 RabbitMQ ,今天就先来个前味菜&#xff0c;总结一下它在 centos 内的安装。 环境&#xff1a;CentOS 8.0 64位 安装erlang 由于 rabbitmq 是基于 erlang 语言开发的&#xff0c;所以必须先安装 erlang…

大数据项目之电商数仓、日志采集Flume、source、channel、 sink、Kafka的三个架构

文章目录4. 用户行为数据采集模块4.3 日志采集Flume4.3.1 Kafka的三个架构4.3.1.1 source4.3.1.2 channel4.3.1.3 sink4.3.1.4 kafka source4.3.1.5 kafka sink4.3.1.6 kafka channel4.3.1.6.1 第一个结构4.3.1.6.2 第二个结构4.3.1.6.3 第三个结构4. 用户行为数据采集模块 4.…

CentOS7 离线部署 Python 项目

1.前言 主要过程如下&#xff1a; &#xff08;1&#xff09;创建项目环境&#xff0c;生成requirements.txt文件。&#xff08;如果已有可跳出&#xff09; &#xff08;2&#xff09;新建一个跟目标机器一样的操作系统&#xff0c;python环境的测试服务器&#xff0c;并下载…

【考研英语语法】名词性从句

0 导言 名词性从句&#xff0c;是指一个句子相当于名词来使用&#xff0c;放到另外一个句子中。通常情况下&#xff0c;名词在句子中主要作四种成分&#xff1a;宾语、表语、主语、同位语。因此&#xff0c;名词性从句就分成四种&#xff1a;宾语从句、表语从句、主语从句、同…

迅为iTOP3568开发板Android11获取root权限关闭selinux

本文档所需资料在网盘资料“iTOP-3568 开发板\02_【iTOP-RK3568 开发板】开发资料\ 06_Android 系统开发配套资料\02_Android11 获取 root 权限配套资料”目录下。本文档参考瑞 芯微官方文档&#xff0c;在源码“Android11/rk_android11.0_sdk/RKDocs/android/patches/root”目…

SpringBoot整合Swagger2

整合Swagger2 1.Swagger介绍 前后端分离开发模式中&#xff0c;api文档是最好的沟通方式。 Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 1、及时性 (接口变更后&#xff0c;能够及时准确地通知相关前后端开发人员)…

Kubernetes云原生实战00 何为云原生?

大家好&#xff0c;我是飘渺。 从今天开始我将开启第二个专栏系列&#xff0c;即 Kubernetes云原生实战 何为云原生 都2022年了&#xff0c;我相信各位肯定听过 云原生 这个词&#xff0c;但是究竟什么是云原生&#xff0c;却很少有人能真正说清楚。 如果找资料来看&#x…

广通远驰亮相2022 C-V2X“四跨”(苏州)应用示范活动

2022年11月3-4日&#xff0c;2022 C-V2X“四跨”&#xff08;苏州&#xff09;先导应用示范活动在苏州举办&#xff0c;9家国内外整车企业、22家终端企业、9家芯片模组企业、7家信息安全企业共计23个车队、47家单位参与活动演示。 深圳市广通远驰科技有限公司&#xff08;以下简…

请求转发与重定向到底有哪些区别?

一. 前言 我们知道&#xff0c;Web开发中的页面跳转&#xff0c;通常有两种跳转方式&#xff1a;重定向与请求转发。但可能有很多同学并不知道这两种跳转在细节上的区别&#xff0c;只知道都能跳转到目标页面。但实际上这两种跳转方式深入研究后&#xff0c;你会发现有很多不同…