#include <stdio.h>
#include <string.h>
int gcd (int a, int b)
{
if (a == 0)
return b;
if (b == 0)
return a;
return gcd(b, a % b);
}
void reverse(char x[], int r, int n)
{
int i, j, k;
char tmp;
for (i = 0; i < gcd (r, n); ++i)
{
tmp = x[i];
j = i;
while (1)
{
k = j + r;
if (k >= n)
k -= n;
if (k == i)
break;
x[j] = x[k];
j = k;
}
x[j] = tmp;
}
}
int main()
{
char x[] = "abcdefgh";
int len = strlen(x);
reverse(x, 6, len);
puts(x);
return 0;
}
杂技算法
最新推荐文章于 2020-09-08 20:20:53 发布