POJ 1019--Number Sequence

51单片机定时器的原理、应用与编程实现 本文系统介绍了51单片机定时器的基本原理与应用。首先阐述了定时器的工作原理,包括定时模式和计数模式的区别。然后详细讲解了定时器的四种工作模式(方式0-方式3)及其适用场景,并分析了相关寄存器(TMOD、TCON、THx/TLx)的功能设置。文章还给出了定时器编程的具体步骤,包括初始化、计数初值计算和示例代码。最后通过LED闪烁、PWM波形产生、脉冲计数等实际应用案例,展示了定时器的多样化应用。掌握这些知识对嵌入式系统开发具有重要意义。 阅读详情

题意

题目大意是说,有一串由如下如下规律的数字组成的字符串1121231234123451234561234567…….,给出任意一个位置,求那个位置的数字是多少。

分析

观察一下,可以把字符串分成1 12 123 1234 12345 …12345678910…,这样1到9段,每段的长度可以用n表示,从10到99段每段可以用2n-9表示、、、。这样前n段的长度可表示为0.5n*n+0.5n[1,10),n*n-8n+36[10,100),1.5n*n-106.5n+4887[100,999),2n*n-1105n+503388[1000,9999),2.5n*n-11103.5n+50488389[10000,99999)。因此先估算所求位置在哪个区间里,解一个一元二次方程,再具体求值即可。

其本质就是求等差数列的和。

代码如下:
Memory: 256K Time: 0MS Length:54LINES

#include<iostream>
#include<cmath>
using namespace std;
unsigned int Sum[5] = { 0, 45, 9045, 1395495, 189414495 };//用来判断在哪个区间
unsigned int Count[5] = { 0, 9, 189, 2889, 38889 };
int Calc(unsigned int num)
{
    for (int i = 4; i > 0; --i)
    {
        if (num > Count[i])
        {
            int mod = (num - Count[i]) % (i + 1);
            if (mod > 0)        num = num - Count[i] + (i + 1) - mod;
            else    num -= Count[i];
            num = num / (i + 1) + pow(10.0, i) - 1;
            if (mod != 0)   num /= pow(10.0, (i + 1 - mod));
            return num % 10;
        }
    }
    return num;
}
struct A_B_C
{
    double a;
    double b;
    unsigned int c;
};
int main()
{
    A_B_C abc[5];//方程参数
    abc[0].a = 0.5;     abc[0].b = 0.5;         abc[0].c = 0;
    abc[1].a = 1;       abc[1].b = -8;          abc[1].c = 36;
    abc[2].a = 1.5;     abc[2].b = -106.5;      abc[2].c = 4887;
    abc[3].a = 2;       abc[3].b = -1105;       abc[3].c = 503388;
    abc[4].a = 2.5;     abc[4].b = -11103.5;    abc[4].c = 50488389;
    unsigned int num = 0;
    int count = 0;
    cin >> count;
    while (count--)
    {
        cin >> num;
        for (int i = 4; i >= 0; --i)
            if (num > Sum[i])
            {
                double tmp = sqrt(abc[i].b * abc[i].b + 4 * abc[i].a * (num - abc[i].c));
                int val = (-abc[i].b + tmp) / (2 * abc[i].a);
                int val2 = num - abc[i].a * val * val - abc[i].b * val - abc[i].c;
                if (val2 == 0)  cout << val % 10 << endl;//若刚好在前n段的最后位置
                else    cout << Calc(val2) << endl;  //超出的再处理即可
                break;
            }
    }
    return 0;
}
Oracle EBS AP发票被预付款核算创建会计科目时间超长 在客户职能部门的水电、通信和物业等费用统一管理或对接部门报销时,用户将所有费用分摊到各个末级部门,导致AP发票行数高达上千行。这引发了以下问题:1)用户过账时,创建会计科目的请求执行超过20小时未完成,只能手动取消;2)取消请求后,系统一直处于回滚状态;3)通过SQL脚本分析,发现预付发票核销分配行表记录数量庞大,单笔AP发票记录高达90多万条,类似发票共有5笔。 阅读详情

相关推荐

java modbus通讯协议_Modbus通 讯 协 议

电磁流量计Modbus通 讯 协 议(版本号:9000-K V9.1.1)2020年01月01日通讯协议针对KFD电磁流量计工业应用设计,版本:9000-K V9.1.1,该版本主要用于实时数据采集、流量测量、流量累计控制及部分参数的修改。一、主机系统通讯部件要求1.国际标准RS-485通讯接口部件,不小于11Bytes 的通信缓冲区(FIFO),支持1200、2400、4800、96...

weixin_39956612的博客 1011

poj Number Sequence

Number Sequence (排列组合) Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%lld & %llu Submit Status Description A single positive integer i is given. Write a program to f

但求心安的博客 570

从零开始:Vivado中自定义串口通信IP核的完整实现

本文详细介绍了在Vivado中从零开始实现自定义串口通信IP核的完整流程,包括Verilog核心代码编写、仿真验证、IP核封装与参数化配置技巧。通过AXI-Lite总线实现动态配置,提升FPGA开发效率,适用于各种嵌入式系统通信需求。

weixin_29274969的博客 326

poj 1019 Number Sequence 两次二分

<br />Number SequenceTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 22614 Accepted: 6031<br />DescriptionA single positive integer i is given. Write a program to find the digit located in the position i in the sequence of number groups S1S2...Sk

kongming_acm的专栏 1002

尝试使用CubeMX做stm32开发之九:SYS配置

参考《STM32中文参考手册_V10》,研究CubeMX中有关SYS的配置

Forster-C的博客 9420

如何设计一个低代码平台

近些年来,低代码发展火热,各种低代码平台如雨后春笋纷纷崛起,这些平台各定位不同,优劣不同,用户的选择空间很大。那么,如果用户想从零开始设计一个低代码平台,该如何做呢?

Jarod_Chou的博客 8256

poj-1019-Number Sequence【思维】【规律】

题目链接:点击打开链接 Number Sequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 38616   Accepted: 11202 Description A single positive integer i is given.

_Somethingwill 1432

使用 Python 调用 GitHub REST API 爬取 GitHub 仓库信息(完整指南)

GitHub 提供了功能强大的 REST API,允许开发者通过编程方式访问 GitHub 上的仓库、用户、提交记录、PR(Pull Request)等信息。GitHub REST API 是 GitHub 官方提供的 API 接口,支持通过 HTTP 请求来操作 GitHub 上的资源。在本文中,我们将使用 Python 编写一个完整的爬虫程序,调用 GitHub 的 REST API 来爬取 GitHub 仓库的信息。目前 GitHub 使用的主要是 v3 版本的 REST API。

2201_76125261的博客 1110

POJ1019 ---简单的数学找规律题

Number Sequence Time Limit:1000MS Memory Limit:10000K Total Submissions:24387 Accepted:6534 Description A single positive integer i is given. Write a program to find ...

weixin_30474613的博客 286

Proxmox(pve)集群(4)存储(1)配置分布式存储ceph

它使用一种称为CRUSH(Controlled Replication Under Scalable Hashing)算法的数据分布算法来将数据均匀地分布在多个存储节点上,并确保数据的冗余和容错。它负责管理数据的分布、冗余和自动修复。PVE支持本地存储、LVM、NFS、iSCSI、CephFS、RBD、ZFS等存储方式,我这里使用两种存储方式,一种是通过ceph实现分布式存储,一种是通过truenas实现集中式存储。自我管理和自动恢复:Ceph具有自我管理的特性,可以动态地调整和优化存储集群的配置。

Monster✺◟(∗❛ัᴗ❛ั∗)◞✺的博客 2623

地表最强之Android微信语音/腾讯会议通话录音

地表最强之Android微信语音/腾讯会议通话录音

cczhengv 6103

Number Sequence poj1019(数学方法)

Number Sequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39182   Accepted: 11366 Description A single positive integer i is given. Write a program t

Welcome ! This is Guanpx's blog. 709

微信小程序爬虫终极指南:以电商小程序抓包与逆向分析为例(最新版)

在2026年的移动互联网生态中,微信小程序已经成为电商交易的核心载体之一。据统计,超过78%的头部电商平台都推出了微信小程序版本,其用户活跃度甚至超过原生App。对于数据从业者而言,小程序端往往藏着比Web端更丰富的接口数据——包括但不限于商品详情、价格波动、用户评价、库存变化、秒杀活动信息等。与传统的Web爬虫不同,微信小程序爬虫面临着三大核心挑战无URL地址栏:无法通过浏览器直接查看网络请求wx.request封装:所有请求均通过微信原生API发起,难以直接拦截然而,

2201_76125261的博客 536

POJ 1019 Number Sequence

POJ 1019 Number Sequence 顺便说一句,我现在是按照百度百科Poj里面经典题目来刷的....但发现其实挺简单的(当然还是要经过百度大神和Discuss的思路启发啥的)......QAQ你们这群编词条的坏人骗我!!! 我做题的顺序大概是晚上读题,睡觉前整理思路催眠入睡;早晨起来看别人的思路再对比自己的思路,修改整理自己的思路,编程,测试;晚上入睡前写当天的解题报告=

BlackLillian的专栏 411

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

[POJ][1019]Number Sequence

这其实也是一道水

软件工程学森 2301

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

poj 1019 Number Sequence

<br />// poj 1019 Number Sequence <br />#include <iostream><br />#include <algorithm><br />using namespace std;<br /><br />int mi[11];<br />int s[11],ss[11];<br /><br />int main()<br />{<br />    mi[1]=1;<br />    for (int i=2;i<=10;i++) mi[i]=mi[i-1]*10;<

birdforever的专栏 427

poj1019_Number_Sequence

poj1019_Number_Sequence 这题目关键是打表,haha[k]数组表示的是S1S2..Sk该串结尾所在的位置。然后用n去找n所在的k值,此时haha[k-1]<n<=haha[k]。然后再算出从haha[k]位置到n一共有多少位,再查出来就行了。 本来我要用打表+二分的想法,不过后来二分写的不太好一看可以...

weixin_30580943的博客 102

【POJ 1019】 Number Sequence

【POJ 1019】 Number Sequence 二分水题 放组合数学里。。。可能有什么正规姿势吧Orz 112123123412345...这种串 分成长度1 2 3 4 5...的串 注意有多位数 把长度累加到一个数组里 注意要累加 因为查询的时候查的是原串中对应位置的数 因此要累加上前一次的长度 然后二分处该串前的总长 用查询的位置-之前串的总长 就是在最长的串中的

ACMer' 908

POJ1019 - Number Sequence 解题报告

POJ1019 - Number Sequence 解题报告原题解析题目要点优化示例代码技巧 原题解析 题目的意思是,给定一串 0 到 9 的数字,问第 n 位的数字是几。 这串数字满足的规律是: 1121231234123451234561234567123456781234567891234567891012345678910111234567891011121234… n 的范围是从 1 到 2147483647 。 题目要点 这串数字从 1 开始,并且第 1 位是 1 ; 2147483647 是

oneCertain的博客 331

【poj1019】 Number Sequence

http://poj.org/problem?id=1019 (题目链接)题意:给出一个数:1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910(当然中间是没有空格的)求它从左往右第n位上是多少。solution   水题一道。我们可以发现,这个数可以分成若干串数,记为i,那么每串数i就是从1~i。我们可以用数组x[i]

MashiroSky的博客 530

【poj 1019】Number Sequence

poj 数学

曾经追梦的happy时光 619

POJ1019————Number Sequence

Number Sequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37805   Accepted: 10926 思路:用一个数组记录从1-n的数长度的总和,另一数组迭代记录前缀和,然后二分逐步缩小范围; Description A single

梦载代码 354

POJ 1019 Number Sequence

Description A single positive integer i is given. Write a program to find the digit located in the position i in the sequence of number groups S1S2...Sk. Each group Sk consists of a sequence of ...

ZRP442235的博客 319

POJ 1019 Number Sequence

Number Sequence Time Limit:1000MS Memory Limit:10000K Total Submissions:29413 Accepted:8198 Description A single positive integer i is given. Write a program t...

anvt77205的博客 159
上一篇: POJ 1020--Packets
下一篇: POJ 1018--Communication System
Hering_Linux
博客等级 码龄12年 0粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值