pku 1019
来源:互联网 发布:sql drop所有表 c# 编辑:程序博客网 时间:2024/05/02 18:05
题意:一串有有数字构成且有数学规律的字符串,求出第n个字串是什么。
题解:首先一个字符串的定位是重点,然后需要数学知识每个数字的占的位数有log10(i)可以得得出,慢慢的向所要求的位置靠近
算法分类:数学。
代码是从网上看到和自己思路一样的代码学来的,寻找1的位置。
代码:
#include <stdio.h>
#include <math.h>
int main()
{
int t;
unsigned long n;
unsigned long now,last;
double i;
int j,k;
scanf("%d",&t);
while(t--)
{
now=0;
last=0;
i=0;
scanf("%ld",&n);
while(now<n)
{
last+=(int)log10(++i)+1;//last指每一个由1开始的字符串的长度
now+=last;//now指每一个有规律的字符串最后一个字符的长度
// printf("%ld %ld !/n",last,now);
}
now-=last;//now的位置跑过了 回到最后now+1即为新的1开始的位置
n-=now;//减小n的范围
now=0;
i=0;
while(now<n)//逐步的向要求的靠近
{
now+=(int)log10(++i)+1;
}
now-=(int)log10(i)+1;//加多了 减回去
n-=now;
j=(int)log10(i)+2;
j=j-n;
for(k=1;k<j;k++)
i=i/10;
j=(int)i;
j%=10;
printf("%d/n",j);
}
return 0;
}
- pku 1019
- pku acm 1019
- PKU 1019 Number Sequence
- PKU OJ 1019 Number Sequence
- pku 1019 数学题(递推式)
- PKU 1019 Number Sequence 问题的解决
- pku 1019 Number Sequence(逐步求精)
- PKU ACM-1019题 java Number Sequence
- pku 1018 && pku 1095
- pku 3345 && pku 3107
- PKU 1161、PKU 2524、 PKU 1308
- acm pku 1019 Number Sequence的递归计算方法
- pku 1003
- pku 1125
- PKU 1002
- PKU题解
- pku 3278
- pku-1001
- 羊群效应
- 刺猬法则
- 手表定律
- HDU 1022 Train Problem I 附详细思路
- 破窗理论
- pku 1019
- 二八定律
- 木桶理论
- 自制简单易用的ARM仿真器
- 对session和cookie的一些理解
- 马太效应
- windows系统下JDK1.6环境变量配置
- pku 1028
- 鸟笼逻辑