#include <stdio.h>
#include <math.h>
int main()
{
int m,n,b=0,t,a;
scanf("%d%d",&m,&n);
t = m;
while(t>0)
{
b++;
t=t/10;
}
printf("%d ",b);
for(t=1;t<=n;t++)
{
a=m%10;
m=m/10;
m = a*pow(10.0,b-1)+m;
}
printf("%d",m);
return 0;
}
//
// Created by qza2468 on 2021/11/4.
//
#include <stdio.h>
int main (int argc, char **argv) {
int n, m;
// get input and store them
scanf("%d %d", &n, &m);
// how many digits in n
int digits = 0;
int n_tmp = n;
while (n_tmp != 0) {
n_tmp /= 10;
digits++;
}
// rotate n.
n_tmp = n;
// rotate `digits` digits have no effect.
m %= digits;
int result = 0; // result
int pos = 0; // what digit I'm processing.
while (pos < digits) {
int num = n_tmp % 10; // the `pos` digit of n;
n_tmp /= 10;
if (m > pos) {
// loop to * 10
for (int i = 0; i < pos - m + digits; i++)
num *= 10;
result += num;
}
else {
// loop to * 10
for (int i = 0; i < pos - m; i++)
num *= 10;
result += num;
}
pos++;
}
// output
printf("%d %d", digits, result);
}
我建议你在纸上运行一下我写的,相信你很快就会明白的,加油。