整数转换
2014-10-27 20:59
471 查看
Description
我们可以通过对一个整数A进行加1操作或者乘2操作使其转换为另一个整数B。给出两个整数X,
Y,计算至少需要多少步才能将X转换为Y。.
Input
输入的第一行包含一个整数T (1≤ T
≤ 500),表示一共有T组测试数据。
每组测试数据占一行,包含两个整数X,
Y (1
≤ X
≤ Y ≤ 1018)。
Output
对于每组测试数据,输出至少需要多少步才能将X转换为Y。Sample Input
3 1 1 3 10 2 11
Sample Output
0 3 4
#include<iostream> #include<cstdio> using namespace std; #define MAX(a,b) ((a)>(b) ? (a):(b)) #define MIN(a,b) ((a)<(b) ? (a):(b)) int main() { int t; scanf("%d",&t); while(t--) { long long x,y,sum=0; scanf("%lld %lld",&x,&y); if(x==y) {printf("0\n"); continue;} while(y/2>=x) { if(y%2==0) sum+=1; else sum+=2; y/=2; } sum+=y-x; printf("%lld\n",sum); } return 0; }
相关文章推荐
- 【算法09】整数的转换成2进制有多少个1
- 把字符串转换成整数
- C语言浮点数和整数转换的分析
- 不使用库函数将整数转换为字符串或将字符串转换为整数
- C语言atoi()函数:将字符串转换成int(整数)
- 计蒜客 -- 罗马数字转换成整数
- 自己动手写Java大整数《3》除法和十进制转换
- Swift - 浮点数转换成整数(四舍五入与直接截断)
- 将整数转换为罗马数字
- 程序员100道面试题17把字符串转换成整数
- 将整数转换为10进制、2进制、16进制的数字串
- C++中判断string是否为整数及其转换方法
- 将10进制整数转换任意进制输出
- 【剑指offer-Java版】49把字符串转换为整数
- java/python中获取当前系统时间,并与字符串相互转换格式,或者转化成秒数,天数等整数
- 将字符串转换为整数
- 识别字符串中的整数并转换为数字形式
- ssprintf sscanf atoi itoa 整数字符串转换
- 讲整数转换为字符串
- C 将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)