gpt4 book ai didi

algorithm - 向左旋转

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:38:11 25 4
gpt4 key购买 nike

我有一个整数。假设n=25314;我想将整数(n)左侧的数字旋转n次。例如。 int=25314 和 3 次向左旋转。所以,结果是 int=14253
int =32546 和 4 次向左旋转。所以,结果是 int=63254
如何在 C++ 中将整数向左旋转第 n 次?

最佳答案

1234567/1000 = 1234,余数 567。然后以相反的顺序将它们放回原处。您确实需要计算 x,它是高于 d 的 10 次方。(这就是循环。)

int n = 1234567;
int p = (int)pow(10, 3); // if you want to rotate by 3 digits
int d = n / p; // = 1234
int r = n - d * p; // = 567
int x = 1;
while(x <= d) x *= 10; // = 10000
int result = r * x + d; // = 5670000 + 1234 = 5671234

关于algorithm - 向左旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25166104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com