设一个数 A 的最低 D 位形成的数是 ad。如果把 ad 截下来移到 A 的最高位前面,就形成了一个新的数 B。B 是 A 的多少倍?例如将 12345 的最低 2 位 45 截下来放到 123 的前面,就得到 45123,它约是 12345 的 3.66 倍。
输入格式:
输入在一行中给出一个正整数 A(≤109)和要截取的位数 D。题目保证 D 不超过 A 的总位数。
输出格式:
计算 B 是 A 的多少倍,输出小数点后 2 位。
相关代码展示:
# include <stdio.h>
# include <math.h>
int Item(int a){
int i=0;
while(a>=0){
a=a/10;
i++;}
return i;
}
int main (){
int num1,num2;//num1作为输入的数字,num2作为输入的低位数;
scanf("%d %d",&num1,&num2);
int k,m,n,x;
int c=pow(10,num2);
m=num1/c;
n=num2%c;
x=Item(num1)-num2;
k=pow(10,x)*n+m;
printf("%.2lf",(double)k/num1;
return 0;
}