[xdoj1029]求解某个数的最高位和最低位
解题关键:
1、最高位求法
long long int x=n^m;
式子两边同时取lg lg(x)=m*lg(n);
x=10^(m*lg(n));
10的整数次方的最高位一定是1,所以x的最高位取决于m*lg(n)的小数部分
k=m*lg(n)的小数部分=m*lg(n)-floor(m*lg(n));
x的最高位=floor(10^k);
注意浮点数会有误差,所以,通不过时要加点小数
2、最低位求法
普遍情况下可以运用快速幂求解,而本题由于是2的n次幂,所以可以直接用打表求解。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int b[]={,,,};
int main(){
int t,n,t2;
double m,x;
cin>>t;
while(t--){
cin>>n;
t2=(n-)%;
x=n*log10(2.0);
x-=(int)x;
m=(int)(pow(10.0,x)+0.000001);
cout<<m<<" "<<b[t2]<<endl;
}
}
[xdoj1029]求解某个数的最高位和最低位的更多相关文章
- exgcd扩展欧几里得求解的个数
知识储备 扩展欧几里得定理 欧几里得定理 (未掌握的话请移步[扩展欧几里得]) 正题 设存在ax+by=gcd(a,b),求x,y.我们已经知道了用扩欧求解的方法是递归,终止条件是x==1,y==0: ...
- Spoj-DISUBSTR - Distinct Substrings~New Distinct Substrings SPOJ - SUBST1~(后缀数组求解子串个数)
Spoj-DISUBSTR - Distinct Substrings New Distinct Substrings SPOJ - SUBST1 我是根据kuangbin的后缀数组专题来的 这两题题 ...
- uva 10069 Distinct Subsequences(高精度 + DP求解子串个数)
题目连接:10069 - Distinct Subsequences 题目大意:给出两个字符串x (lenth < 10000), z (lenth < 100), 求在x中有多少个z. ...
- 使用牛顿迭代法和二分法求解一个数的平方根(python语言实现)
#牛顿迭代法 def sqrt1(x): y = 1.0 while abs(y * y - x) > 1e-6: y = (y + x/y)/2 return y #使用二分法 def sqr ...
- No.009 Palindrome Number
9. Palindrome Number Total Accepted: 136330 Total Submissions: 418995 Difficulty: Easy Determine whe ...
- LeetCode--No.009 Palindrome Number
9. Palindrome Number Total Accepted: 136330 Total Submissions: 418995 Difficulty: Easy Determine whe ...
- Codeforces 276D
题目链接 这题真的体现了自己思维的不足,考虑问题只是考虑他的特殊性,却不能总结出它的一般性规律. 对于这题, 如果L == R , 那么结果为0. 否则, 我们只需要找到最高的某一位 (二进制数中的某 ...
- 在O(N)时间内求解 正数数组中 两个数相加的 最大值
一,问题描述 给定一个正数数组arr(即数组元素全是正数),找出该数组中,两个元素相加的最大值,其中被加数的下标大于加数的下标.由加法运算的可逆性,j >i 这个条件可以去掉. 即求出: max ...
- 【转】从1到N这N个数中1的出现了多少次?
给定一个十进制整数N,求出从1到N的所有整数中出现"1"的个数. 例如:N=2,1,2出现了1个"1". N=12,1,2,3,4,5,6,7,8,9,10,1 ...
随机推荐
- Integer 与 int 中的 ==
public class IntegerTest { public static void main(String args[]){ /** * int == 比较大小 */ int p1 = 100 ...
- 扩展 Yii2 自带的日志组件
<?php /** * author : forecho <caizhenghai@gmail.com> * createTime : 2015/12/22 18:13 * desc ...
- Python——轻量级web服务器flask的学习
前言: 根据工程需要,开始上手另一个python服务器---flask,flask是一个轻量级的python服务器,简单易用.将我的学习过程记录下来,有新的知识会及时补充. 记录只为更好的分享~ 正文 ...
- 【leetcode刷题笔记】Reverse Nodes in k-Group
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If ...
- 浅谈Android系统开发中LOG的使用【转】
本文转载自:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以 ...
- 剑指offer之 数组中出现次数超过一半的数字
public class Solution { public int MoreThanHalfNum_Solution(int [] array) { if(array==null||array.le ...
- C# 中获取CPU序列号/网卡mac地址
1.cpu序列号2.mac序列号3.硬盘id在给软件加序列号时这三个应该是最有用的,可以实现序列号和机器绑定,对保护软件很有好处.哈哈. using System; using System.Ma ...
- Eclipse debug neutron-server
1 首先停掉neutron-server kill neutron-server in screen by ctr-c q-svc 2 cp /usr/local/bin/neutron-server ...
- mysql 如何创建索引
mysql 如何创建索引 一.总结 一句话总结:MySQL中可以使用alter table这个SQL语句来为表中的字段添加索引. 使用alter table语句来为表中的字段添加索引的基本语法是:AL ...
- 分享知识-快乐自己:揭秘HBase
揭秘HBase: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce 六):揭秘HBa ...