OpenJudge 2739 计算对数
1.链接地址:
http://bailian.openjudge.cn/practice/2739/
2.题目:
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- 给定两个正整数a和b。可以知道一定存在整数x,使得
x <= logab < x + 1
输出x- 输入
- 第1行是测试数据的组数n,每组测试数据占2行,分别是a和b。每组测试数据之间有一个空行,每行数据不超过100个字符
- 输出
- n行,每组测试数据有一行输出,也就是对应的x。输入数据保证x不大于20
- 样例输入
3
10000
1000000000001 10000
999999999999 999999999999999999999999999999999999999999999999
1- 样例输出
3
2
0
3.思路:
枚举+高精度乘法+高精度比较+数学题
4.代码:
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
#include <cstdio> using namespace std; string mul(string str1,string str2)
{
vector<int> v_res(str1.size()+str2.size(),);
string::size_type i,j;
vector<int>::size_type k,p; reverse(str1.begin(),str1.end());
reverse(str2.begin(),str2.end());
for(i = ; i != str1.size(); ++i)
{
for(j = ; j != str2.size(); ++j)
{
v_res[i+j] += (str1[i]-'') * (str2[j] - '');
}
}
for(k = ; k != v_res.size() - ; ++k)
{
v_res[k+] += v_res[k] / ;
v_res[k] = v_res[k] % ;
} for(p = v_res.size() - ; p != -; --p)
{
if(v_res[p] != ) break;
}
if(p == -) p = ; string s_res(p+,'');
for(k = p; k != -; --k) s_res[p-k] = char(v_res[k] + ''); return s_res; } int cmp(string str1,string str2)
{
if(str1.size() != str2.size()) return str1.size() - str2.size();
int i;
for(i = ; i < str1.size(); ++i)
if(str1[i] != str2[i]) break;
if(i < str1.size()) return (str1[i] - str2[i]);
else return ;
} int main()
{
int n;
cin>>n; string a,b;
int i;
string x1,x2;
while(n--)
{
cin>>a>>b;
x1 = "";
for(i = ; i <= ; ++i)
{
x1 = mul(x1,a);
if(cmp(x1,b) > ) break;
}
cout<<i<<endl;
}
return ;
}
OpenJudge 2739 计算对数的更多相关文章
- OpenJudge 2809 计算2的N次方
1.链接地址: http://bailian.openjudge.cn/practice/2809/ 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 任意给定一个正整数N(N ...
- 证明与计算(2): 离散对数问题(Discrete logarithm Problem, DLP)
离散对数问题,英文是Discrete logarithm Problem,有时候简写为Discrete log,该问题是十几个开放数学问题(Open Problems in Mathematics, ...
- 有关科学计算方面的python解决
在科学计算方面,一般觉得matlab是一个超强的东西.此外还有R. 至于某种语言来说,一般都要讲究一些特别的算法,包含但不限于: 矩阵方面的计算 指数计算 对数计算 多项式运算 各类方程求解 总之.仅 ...
- 对数损失函数(Logarithmic Loss Function)的原理和 Python 实现
原理 对数损失, 即对数似然损失(Log-likelihood Loss), 也称逻辑斯谛回归损失(Logistic Loss)或交叉熵损失(cross-entropy Loss), 是在概率估计上定 ...
- 投入OJ的怀抱~~~~~~~~~~
OpenJudge C20182024 信箱(1) 账号 修改设定 退出小组 管理员 frank 林舒 Dzx someone 李文新 公告 11-05 程序设计与算法(大学先修课) 成员(61910 ...
- 《利用python进行数据分析》读书笔记--第八章 绘图和可视化
http://www.cnblogs.com/batteryhp/p/5025772.html python有许多可视化工具,本书主要讲解matplotlib.matplotlib是用于创建出版质量图 ...
- bzoj 2152聪聪可可
2152: 聪聪可可 Time Limit: 3 Sec Memory Limit: 259 MB Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰 ...
- 用python处理数学问题
一, 计算对数: >>> import math #导入数学模块>>> math.log(8,2) #计算以2为底 8的对数3.0>&g ...
- 最新中国IP段获取办法与转成ROS导入格式
获取中国IP段办法 1.到APNIC获取亚太最新IP分配 http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest 2 ...
随机推荐
- sqlite3使用教程1 SQLite 命令
http://www.runoob.com/sqlite/sqlite-commands.html 本章将向您讲解 SQLite 编程人员所使用的简单却有用的命令.这些命令被称为 SQLite 的点命 ...
- winform 多线程中ShowDialog()步骤无效的解决办法
private void Form1_Load(object sender, EventArgs e) { Thread thread = new Thread(remind); thread.IsB ...
- squid 安装、配置、优化
官方网站:http://www.squid-cache.org 下载路径:wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABL ...
- Samba Linux和Windows互访
之前一直用的sshfs manager,但是会出现造成电脑黑屏的情况.网上也没找到其它类似的软件. 后面打算用Samba 直接搜到一篇很强大的文章. 1. 下载及安装Samba 推荐用yum来安装, ...
- Jenkins(二)
官网:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins 我的这篇文章不过简单的依据上文,介绍Jenkins提供了哪些功能.详细大家还是要 ...
- CocoStudio 创建简单UI资源并加入�到project
打开CocoStudio UI编辑器新项目,设置画布480*320, 加入�一个标签和一个button控件 导出项目,生成所须要的资源文件, 拷贝到cocos2dprojectResources文件夹 ...
- Git链接到自己的Github(1)简单的开始
好长时间没上来弄东西了,今天回来先开始弄下Git,之后再继续写uboot与kernel的编译,在版本控制下更加宏观地观察每次的变化. 1.在ubuntu中安装git $ sudo apt-get in ...
- 正则表达式 之 C#后台应用
正则表达式在.Net就是用字符串表示,这个字符串格式比较特殊,无论多么特殊,在C#语言看来都是普通的字符串,具体什么含义由Regex类内部进行语法分析. Regex 类 存在于 System.Text ...
- Maven项目中如何添加日志
- case,cast
UPDATE dbo.Dat_Camera SET Cam_Config='<xml><cam><type>2</type>'+CASE WHEN Ca ...