POJ 1019 数学题】的更多相关文章

#include <cstdio> #include <cstring> using namespace std; ]; //sum[i]表示尾数为i的组最大可达到的数字个数 void init() { sum[] = ; sum[] = ; sum[] = ; sum[] = ; sum[] = ; sum[] = ; sum[] = ; } //找到最后对应的组数属于的范围是在多少位的整数上,返回整数的位数 int get_bit(int &n) { ; i< ;…
一.题目大意 有这样一个序列包含S1,S2,S3...SK,每一个Si包括整数1到 i.求在这个序列中给定的整数n为下标的数. 例如,前80位为11212312341234512345612345671234567812345678912345678910123456789101112345678910,第8位为2. 二.题解 动手做这道题之前要了解所求的是第n位而不是某一个Si中的第几个数,一位数占一位,两位数占两位,三位占三位...由于每一组都比前一组多一个数,如果这个数是一位数,则该组数的…
题目地址:http://poj.org/problem?id=1019 Number Sequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35680   Accepted: 10287 Description A single positive integer i is given. Write a program to find the digit located in the position i in…
Number Sequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 36013   Accepted: 10409 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..…
找规律,先找属于第几个循环,再找属于第几个数的第几位...... Number Sequence Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 31552 Accepted: 8963 Description A single positive integer i is given. Write a program to find the digit located in the position i in the sequ…
懂了 题意是给一串 1 12 123 1234 12345 123456 ....这样的数字问第 i个数字是多少 Sample Input 2 8 3 Sample Output 2 2 #include<math.h> #include<cstdio> #include<iostream> using namespace std; unsigned ],s[]; //a是到第i个数字的位数,s是第i组的位数 void reset()//打表 { int i; a[]=…
这是一个看似简单,其实很难受. 本来我想发挥它的标题轨道基础.没想到反被消遣-_-|||. 看它在个人基础上,良好的数学就干脆点,但由于过于频繁,需求将被纳入全,因此,应该难度4星以上. 方法就是直接打表.然后直接模拟.利用打表去掉一大段数据,剩下数据量十分小了.故此能够直接模拟. 打表是为了计算前面的周期数,把周期数直接去掉. 主要难点是后面10位数以上的数有2位, 3位,4位等情况要考虑.- 以下使用getNewNums一个函数攻克了,想通了,就几行代码,还不用难理解的数学计算,呵呵. 然后…
题意 1 12 123 1234 12345 ....这样的序列 问第n位数字是几   是数字! 1-9! 思路:递推关系 主要是位数的计算   用a[i]=a[i-1]+(int)log10((double)i)+1;   每加一个n位数  加log10(n)+1位 还有取数字    (i-1)/(int)pow((double)10,len-pos)%10   len-pos 是到最后有多少位   数字/10^(len-pos) 就把后面几位截断了再%10就能取出要的数字了 参考:https…
https://vjudge.net/problem/POJ-1019 题意 给一串1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910 1234567891011这种形式的串,问这个串的第i个位置的数字是什么. 分析 这道题的重点在于到第k组时应该为几位数,即对于某个数x,它应该为几位数.答案是log10(x)+1.这样剩下的便是打表预处理了,找出每组的起始位置,再处理出一个最长的组. #include<iostre…
题意: 有一串数字串,其规律为 1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910 1234567891011 123456789101112······k 输入位置n,计算这一串数字第n位是什么数字,注意是数字,不是数! 例如12345678910的第10位是1,而不是10,第11位是0,也不是10.总之多位的数在序列中要被拆分为几位数字,一个数字对应一位. //运用了一个公式:求一个数的位数时,可以用 (int)…