首页 > 其他分享 >寻找页码题解

寻找页码题解

时间:2023-07-09 13:33:20浏览次数:36  
标签:10 输出 int 题解 寻找 ans 格式 页码

首先看题目,我也不知道这一题的出处。。。。在网上找了很久也没找到。。。

题目描述

从第1页开始,页码组成的数字序列如下:123..10 11 12..99 100 101...

这串序列又被称之为连写数。给定一个 09 之中的单独一位数字 a,请问在这串序列中,第 k 次出现 a ,是在哪一页上?以数码 1 为例,第一次出现在第 1 页,第二次出现在第 10 页,第三次和第四次都出现在第11页上。

输入格式

第一行:两个整数a和k输出格式

输出格式

单个整数表示答案

数据范围

$ 0 ≤a≤9$
$1 ≤k≤100 $

样例数据

输入: 15
输出: 12
输入: 223
输出: 120

解析


这是一道基础的题,首先要会判断一个数的位数,如果不会的话就上打表大法:

if(1<n&&n<10) len=1;
if(10<n&&n<100) len=2;
if(100<n&&n<1000) len=3;
if(1000<n&&n<10000) len=4;
if(10000<n&&n<100000) len=5;
   ...

但是可以这样写,当 n 不为 0 时,每次记录长度并删除一位:

while(n/*>0*/)
{
	len++;
	n=n/10;
}

接着要推测循环的次数,也就是出现次数的范围,我这里是用 \(k^{2}\) ,因为这样能在保证效率的同时够使用,也可以用其他的,最后累加答案并输出即可。

参考代码:

#include<bits/stdc++.h>
using namespace std;
int a,k;
int pd(int n)
{
	int long_=1;
	int m=n;
	int ans=0; 
	while(n>0)
	{
		int q=n%10;
		if(q==a)
		{
			ans++;
		}
		n=n/10;
	}
	return ans;
}
int main()
{
	
	scanf("%d%d",&a,&k);
	int i = 1;
	int num=0;
	for(i = 1;i<=k*k;i++)
	{
		int cut=pd(i);
		num+=cut;
		if(num>=k)
		{
			cout<<i;
			break;
		}
		
	}
	return 0;  //华丽结束
}

标签:10,输出,int,题解,寻找,ans,格式,页码
From: https://www.cnblogs.com/demc/p/17538640.html

相关文章

  • 华泰证券FINTECH决赛第二题题解
    被第二题搞得坐牢2个半小时,在最后10分钟才确定推出的求和公式没问题,是除法取模不规范导致求解有偏差,只能说菜是原罪。这里贴一下赛后修改的代码,希望能对列位有些帮助,欢迎巨佬指导。思路:分奇偶讨论固定长度下伪回文串的数量,定义长度为\(n\)的伪回文串的数量为\(a_{n}\):(1)\(n\)......
  • P7112 题解
    题意简述模板题,求一个\(n\timesn(n\le600)\)的方阵的行列式模一个正整数\(p(1\lep\le10^9+7)\)的值(\(p\)不一定是质数)。题目分析这个题的最终代码其实很简单,重点在于过程。说实话,我在做这个题之前也就只知道个行列式的定义,只会暴力硬算。做了这个题才了解了行列式有那......
  • 关于Azure-平台-Redhat-Linux-服务器时间同步的问题解决
    首先说明一下,关于Azure平台中国区,是没有RedhatLinux系统镜像的于是笔者这边是通过在Windows系统 Hyper-V管理器中安装完Redhat8.x操作系统后,最后将系统磁盘转换成转换为VHD格式然后经过一系列操作、最终在Azure平台上形成了自己的并且加固过的RedHatEnterpriseLinuxre......
  • 【题解】 [APIO2007] 动物园
    目录题目链接原题描述题目描述输入格式输出格式样例#1样例输入#1样例输出#1样例#2样例输入#2样例输出#2提示题意概括思路历程1.与环相关2.设计状态代码实现题目链接原题描述[APIO2007]动物园题目描述新建的圆形动物园是亚太地区的骄傲。圆形动物园坐落于太平洋的一个......
  • 洛谷题解——【模板】堆
    题目链接:【模板】堆【模板】堆题目描述给定一个数列,初始为空,请支持下面三种操作:给定一个整数\(x\),请将\(x\)加入到数列中。输出数列中最小的数。删除数列中最小的数(如果有多个数最小,只删除\(1\)个)。输入格式第一行是一个整数,表示操作的次数\(n\)。接下来\(n\)......
  • 并发网络周测题解释版
    并发网络周测题【一】理论篇1.简述OSI七层协议OSI七层协议(OpenSystemsInterconnection)是一种用于计算机网络通信的参考模型。该模型将网络通信过程分解为七个不同的层次,每个层次负责特定的功能和任务,这有助于网络设备和应用程序之间的协作和互操作性。【1】物理层(Physica......
  • CF500C New Year Book Reading 题解
    这一题是一道比较复杂的贪心(对于本蒟蒻来说)假如两本书\(a\)和\(b\),先看\(a\)再看\(b\),那么我们开始的时候就把\(a\)放在上面。这样的话,我们看\(a\)时就不需要搬动\(b\),看\(b\)的时候会搬动\(a\)。而一开始如果把放在上面,看\(a\)的时候需要搬动\(b\),看\(b\)......
  • AtCoder Beginner Contest 308 题解
    https://atcoder.jp/contests/abc308/tasks_printA-NewScheme过水已隐藏。#include<bits/stdc++.h>#include<ext/pb_ds/assoc_container.hpp>#include<ext/pb_ds/tree_policy.hpp>#include<ext/pb_ds/hash_policy.hpp>usingnamespacestd;u......
  • [HNOI2008] 玩具装箱 题解
    很难得遇到细节题打码5分钟调试两小时感谢游老师送出的1.5h调试,感激(争取每天用我的代码训练老师的该题能力)细节/思路见注释#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;/*本题细节很多!!!1.注意要把‘0’放进去,否则'1'一直弹不出去,导致答案偏大2......
  • 题解 P8648【[蓝桥杯 2017 省 A] 油漆面积】
    怎么题解区全是扫描线,还有个\(O(n^3)\)暴力老哥。为防止误导新人,给个理论上稳过的\(O(n^2)\)解法。二维前缀和可以处理若干次单点加,最后若干次矩形查的问题。将其差分,即可处理若干次矩形加,最后若干次单点查的问题。于是我们使用差分将所有矩形加上,然后做一遍二维前缀和,即......