Description
Fat brother and Maze are playing a kind of special (hentai) game by two integers A and B. First Fat brother write an integer A on a white paper and then Maze start to change this integer. Every time Maze can select an integer x between 1 and A-1 then change A into A-(A%x). The game ends when this integer is less than or equals to B. Here is the problem, at least how many times Maze needs to perform to end this special (hentai) game.
Input
The first line of the date is an integer T, which is the number of the text cases.
Then T cases follow, each case contains two integers A and B described above.
1 <= T <=100, 2 <= B < A < 100861008610086
Output
For each case, output the case number first, and then output an integer describes the number of times Maze needs to perform. See the sample input and output for more details.
Sample Input
2 5 3 10086 110
Sample Output
Case 1: 1 Case 2: 7
题目分析:
A - (A%x) ,x 取过大或者过小都不合适,所以最好的是取中间
#include <iostream>
#include <cstdio>
#include <cstring>
#include <iomanip>
using namespace std;
long long a, b;
long t;
void solve(long long a, long long b)
{
long sum = 0;
while (a > b)
{
a -= ((a - 1) / 2);
sum++;
}
printf("%d\n", sum);
}
int main()
{
cin>>t;
for (long i = 1; i <= t; i++)
{
scanf("%I64d%I64d\n", &a, &b);
printf("Case %d: ", i);
solve(a, b);
}
return 0;
}

本文探讨了在游戏开发中运用特殊算法实现一种名为‘hentai’的游戏过程,通过两个玩家交替操作,从整数A开始,每次选择1到A-1之间的数x,将A更新为A-(A%x),直至A小于等于B。文章提供了实现该过程的代码片段,以及求解至少需要多少次操作来结束游戏的方法。
1990

被折叠的 条评论
为什么被折叠?



