【信】K10263 序列数字个数 [seqnum]

TCP/IP各流程中的seq number与ack seq number 概念 sequence number:表示的是我方(发送方)这边,这个packet的数据部分的第一位应该在整个data stream中所在的位置。(注意这里使用的是“应该”。因为对于没有数据的传输,如ACK,虽然它有一个seq,但是这次传输在整个data stream中是不占位置的。所以下一个实际有数据的传输,会依旧从上一次发送ACK的数据包的seq开始) acknowledge number:表示的是期望的对方(接收方)的下一次sequence number是多少。 注意,SYN/FIN的传输虽然没有d 阅读详情

C++ 信息学奥赛,要求青少年具备一定的阅读理解能力、抽象逻辑能力。

问题描述

最近正在上映电影“魔境仙踪”,爱魔幻故事的卡卡西特别想去看,于是央求着妈妈带她去影院。卡卡西的妈妈对她微微一笑,说:“那好吧,卡卡西,让我来考考你,如果你能解决我出的难题,就可以带你去影院哦!你想要试试吗?”“当然啦,尽管出题吧……”,卡卡西信心满满,于是妈妈开始出题。

题目是这样的:现连续写下从整数 1 开始到某个整数 N(十进制)之间的所有整数时,能得到如下的数字序列:12345678910111213141516171819202122…,当 N 为 20 时,得到的数字序列为:1234567891011121314151617181920。

请编写一个程序,计算这个序列中的数字字符的个数。同学们,你们能帮助卡卡西解决这个问题码?

输入格式

一行,一个正整数N(1≤N≤10000)。

输出格式

一个正整数,表示由给定的整数所产生的序列的数字个数。

输入输出样例

输入样例输出样例
1521
2031

样例解释:当 N=15 时,得到的数字序列为:123456789101112131415,这个数字序列包含的数字字符个数为 21 个。

PS:书写代码前,需充分理解题目。

题解 1

思路分析:使用 if...else if...else if ,按照 N 不同位数,分别计算结果的字符个数,并返回。

#include <iostream>
using namespace std;

int main(){

	int n;
	cin >> n;
	// 1≤N≤10000
	int ans = 0;
	if(n <= 9) {
		ans = n;
	} else if(n <= 99) {
		ans = (n - 9) * 2 + 9;
	} else if(n <= 999) {
		ans = (n - 99) * 3 + 90 * 2 + 9;
	} else if(n <= 9999) {
		ans = (n - 999) * 4 + 900 * 3 + 90 * 2 + 9;
	} else if(n == 10000) {
		ans = 5 + 9000 * 4 + 900 * 3 + 90 * 2 + 9;
	}

	cout << ans << endl;
	return 0;
}

题解 2

思路分析:将 题解 1 中,if 语句优化抽取为公式 ans = cnt * n - (pow(10, cnt) - 10) / 9 + (cnt - 1); (cnt 为整数 N 的位数),将此类问题泛化。

PS:公式的抽取中,隐含了等比数列的求和公式,需了解该部分知识点。

#include <iostream>
#include <cmath>
using namespace std;

int main(){

	int n;
	cin >> n;
	
	int ans = 0, cnt = 0;
	int m = n;
	while(m) {
		cnt ++;
		m /= 10;
	}
	
	ans = cnt * n - (pow(10, cnt) - 10) / 9 + (cnt - 1);

	cout << ans << endl;
	return 0;
}
R语言seq函数生成数据序列实战 R语言seq函数生成数据序列实战 目录 R语言seq函数生成数据序列实战 #基本语法 #seq函数的基础应用 #为seq函数指定步长 # seq函数在指定范围内生成固定长度序列1 #seq函数在指定范围内生成固定长度序列2 #基本语法 seq(1, 5) # Basic R syntax of seq function #seq函数的基础应用 seq(3, 10) # seq. 阅读详情

相关推荐

node-seqnum:一个无限的、无符号的、递增的整数对象

节点序列号 安装 npm install seqnum 用法 var seqnum = require('seqnum'); var n = seqnum('42'); n.toString(); // => '42' JSON.stringify(n); // => '"42"' var m = n.next(); m.toString(); // => '43' JSON.stringify(m); // => '"43"'

白话文图解 - TCP的三次握手

TCP的三次握手 TCP报文 在学习本文可以先把TCP、IP 详解 02 先大致的看一下。 我们要想很好的理解三次握手的过程,我们要对TCP报文头有一个很清晰的理解,在这个理解的基础上在去学习我们的三次握手就很轻松了。 TCP的报文信息如下所示: 源端口和目的端口 为了区分某台主机上具体某个应用 ip层的ip可以标识具体哪个主机,tcp的端口号标识具体哪个应用 序列号(SeqNum) ...

微信公众号《后端学长》 804

百条网络工程师基础面试题(不断更新)

1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。 3)什么是骨干网? 骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。 4)什么是 LAN? LAN 是局域网的缩写。它是指计算机与位于小物理位置的其他网络设备之间的连接。 5)什么是节点? 节点是指连接发生的点。它可以是作为网络一部分的计算机

weixin_42728126的博客 2万+

Binlog 中添加 seqnum 和 parent 两个字段

Binlog 中添加 seqnum 和 parent 两个字段

feidododekefu的博客 367

[kriging](一)网上下载的kriging克里金的C++程序的初步调试

笔者在网上下载了一份克里金的C++程序,水平有限,正在逐步地调试中。 初步 克里金法现在在许多软件都已经有集成了,据笔者所知: arcgis : 看过有的arcgis培训视频里面简略介绍了里面的插值方法,有克里金。 surfer :笔者用过这个,效果很好。 gocad :听说有 landmark &jason :研究生时候用的专业的石油物探软件,里面有克里金法,万恶的开始。 pykrig...

FOREST优快云 5612

【理论&实战篇】大模型RAG技术详解(一)-基础篇

RAG的初衷是为了增强大模型的事实性、时效性,减少幻觉,引入专业知识优化生成回复,是一种结合了信息检索技术与语言生成模型的人工智能技术。通过,并将其作为提示(Prompt)输入给大模型(LLM),来。

qq_41375680的博客 374

万字长文 | 23 个问题 TCP 疑难杂症全解析

每个时代,都不会亏待会学习的人。 在进入今天主题之前我先抛几个问题,这篇文章一共提出 23 个问题。 TCP 握手一定是三次?TCP 挥手一定是四次? 为什么要有快速重传,超时重传不够用?为什么要有 SACK,为什么要有 D-SACK? 都知道有滑动窗口,那由于接收方的太忙了滑动窗口降为了 0 怎么办?发送方就永远等着了? Silly Window 又是什么? 为什么有滑动窗口流控还需要拥塞控制? 快速重传一定要依赖三次重复 ACK ? 这篇文章我想由浅到深地过一遍 TCP,不是生硬.

yes 1009

平台跳跃游戏中的自动寻路,与地图导航扩展

平台游戏:主要的游戏方式是在2D平面上使用各种方式在悬浮平台上进行移动和穿过各种障碍。 现如的平台游戏中的平台特性与种类是很多的,像马里奥(FC)的单向支撑不可穿透的,或魂斗罗(FC)单向支撑可穿透的… \ 超级玛丽 魂斗罗 空洞骑士 蔚蓝 本博文 支撑 上 上 上 左、上、右 上 穿透 无 上、下 无 上(部分) 上下 所以本文主要以向上支撑并上下穿透的平台特性来进行实现 需求分析 在关卡设计后,地形的数据需要自动识别 地形中的平台可上下穿透移动,并可向上站立 平台的移动路..

MOV的博客 3062

哈工大计算机网络传输层详解之:流水线机制与滑动窗口协议

哈工大计算机网络课程,传输层详解之:流水线机制与滑动窗口协议

大数据开发、JAVA开发、人工智能AI 2712

ENVI+SARscape实战:从哨兵一号数据到地震形变制图全流程解析

本文详细解析了使用ENVI和SARscape软件从哨兵一号数据生成地震形变图的全流程,包括数据获取、干涉处理、相位解缠等关键步骤。通过实战技巧和参数设置建议,帮助用户高效处理SAR数据,提升地震形变监测的精度和可视化效果。

weixin_30460489的博客 385

1、开启 Microsoft Power Automate 自动化之旅

本文介绍了 Microsoft Power Automate 的基本概念和其在信息时代自动化需求中的重要作用。Power Automate 是 Power Platform 的一部分,能够通过无代码/低代码的方式自动化处理重复性任务,例如邮件处理、文件复制等,从而提升工作效率。文章还详细讲解了 Power Automate 的核心术语、登录方式、创建第一个流程的操作步骤,并通过示例帮助用户快速上手。无论是终端用户还是管理员,都可以通过本文了解如何利用 Power Automate 实现业务流程自动化。

corn8的博客 169

263题解 | #牛客每个人最近的登录日期(四)#

明明你的简历里写了那么多关于自己的内容,为什么面试官还要你进行一个简单的自我介绍呢?现在有部门已经给我出薪资方案了,工资太低了,想换部门,但hr告诉我换部门后的薪资不会超过换部门的薪资方案,是这样的吗?1. 自我介绍2. 项目中的数仓讲一下,数仓搭建,数据汇总,数仓结构,数据建模方式3. 对于spark和hive区别4. hivesql底层执行过程和原理5.1. 自我介绍2. 项目3. 列举一下常见的排序算法以及对应的时间复杂度,空间复杂度,比快排更快的排序算法,堆排序中构建堆的时间复杂度。

每天多一点干货 149

[Dify实战]插件编写- 如何让插件直接输出文件对象(支持 TXT、Excel 等)

本文介绍了在Dify插件中实现文件对象返回的方法。通过create_blob_message()函数,开发者可以输出txt、Excel等格式文件,让用户直接下载而非复制文本。文章详细讲解了二进制文件生成的原理,提供了文本翻译和Excel报表生成的代码示例,并列出常见MIME类型对照表。这种技术能显著提升插件实用性,特别适用于翻译、报表生成等需要文件输出的场景,使交互体验从"复制粘贴"升级为"一键下载"。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 1249

生成12位短id,自增且不连续,永不重复,不依赖数据库

限定初始时间为2023-08-01 00:00:00,获取当前时间时间戳T1,T1与初始时间的毫秒差值T2,转为16进制,转为字符串为r1,获取该字符串的长度L1。平均步长为max/n,(0~平均步长)的平均数为max/n/2,假设使用平均步长最为随机步长范围,最终的值与max相差较远,大约后一半的数字没有被使用。将平均步长*2-平均步长*容错因子(0.1)的值作为我们随机步长的范围 容错因子:减小溢出概率。获取L2 (length - L1) ,获取L2位数字的16进制自增数值范围,取最大值max。

weixin_44307338的博客 2839

【图像拼接】源码精读:Parallax-Tolerant Unsupervised Deep Image Stitching(UDIS++)

注:Pytorch代码。【图像拼接论文精读】专栏对应文章【图像拼接】论文精读:Parallax-Tolerant Unsupervised Deep Image Stitching(UDIS++)配合对应的文章阅读,效果更佳!注:请重点关注代码段中的注释!!!有一些讲解的东西直接写在代码段的注释中了,同时多关注红色字体和绿色字体!!!我认为深度学习方法和传统方法有很多相似之处。比如:深度学习中的损失函数和传统方法中的对齐项、失真项等其实原理相同,只是求解方式不同。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 7274

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0 O、、awk执行命令的时机, 1、所有行前BEGIN{}, 2、逐行{}, 3、所有行后END{}, 4、三个时机可单独或组合使用,空格不敏感 一、所有行前处理,BEGIN{} 读入第一行文本之前的处理,一般用来做初始化,行号NR算第0行 1、awk 'BEGIN{a=10;print a+10}' 2、awk 'BEGIN{a=10;b=20;pr

ganfanren00001的博客 2059

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

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

计算机网络知识点合集——TCP连接与释放

TCP的三次握手建立连接与四次握手释放连接的过程

一条整理笔记的咸鱼 1490

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数字序列 Number Sequence

题目描述给出一个正整数i。编写一个程序来查找位于编号组S1S2 ... Sk序列中位置i的数字。每组Sk由一系列从1到k的正整数组成,依次写入。 例如,序列的前80位数字如下:  11212312341234512345612345671234567812345678912345678910123456789101112345678910输入输入文件的第一行包含一个整数t(1≤t≤10),即测试用...

qq_41486817的博客 3828

linux:使用seq命令产生数字序列

有些场景下,需要一个数字的序列,这时可以使得seq命令来产生 NAME seq - print a sequence of numbers SYNOPSIS seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST DESCR

匿_名_用_户的专栏 3340

R语言中seq函数的用法

seq(from,to,length), 该函数的意思是生成一组

记录本 14万+

IS-IS理论基础-03

IS-IS理论基础-03

weixin_45590433的博客 5770

理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)

原文见:http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/ 如果你正在读这篇文章,很可能你对TCP“非著名”的“三次握手”或者说“SYN,SYN/ACK,ACK”已经很熟悉了。不幸的是,对很多人来说,对TCP的学习就仅限于此了。尽管年代久远,TCP仍是一个相当复杂并且值得研...

怀揣梦想,努力前行 20万+

linux shell seq的用法

用于产生从某个数到另外一个数之间的所有整数 例一: # seq 1 10 结果是1 2 3 4 5 6 7 8 9 10 例二: #!/bin/bash for i in `seq 1 10`; do echo $i; done 或者用 for i in $(seq 1 10) 也可以 seq -f, --format=FORMAT      use printf st

轻飘飞扬 3万+

Ble Mesh技术(一)之概览

1. Mesh概览 1.1. mesh消息的收发 mesh消息收发方式区别于ble的连接方式,而是通过消息的发布(publish)与订阅(subscribe)进行消息的传递。 mesh的数据包主要包含有以下字段: 其中IVI/NID/CTL/TTL/SEQ暂不做解释,其中SRC/DST就代表这条消息是从哪里发来的和这条消息是要发送到哪里去。 a.每个节点都有一个发布地址和多个订阅地址。 b.发送...

蓬某某的博客 7781

GStreamer中对RTP包seqnum是否wraparound的判断只用一句代码

来看这个函数:gst_rtp_buffer_compare_seqnumCODE:SELECT ALLgintgst_rtp_buffer_compare_seqnum (guint16 seqnum1, guint16 seqnum2){ return (gint16) (seqnum2 - seqnum1);}就简单的一句代码,就能判断出seqnum1, seqnum2是否有wrapar...

weixin_30466421的博客 239

leetcode_400. Nth Digit 查找自然数序列中的第n个数字

题目: Find the nth digit of the infinite integer sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... Note: n is positive and will fit within the range of a 32-bit signed integer (n 31). Example

qqzj_bupt的博客 2536
上一篇: 【改】1022. D 进制的 A+B
下一篇: 【PAT乙级】题解-1001 害死人不偿命的(3n+1)猜想
老坛算粉
博客等级 码龄12年 708粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛算粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值