📄 1384.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1384 on 2005-03-12 at 12:36:59 */
#include <stdio.h>
int main()
{
long N, limit;
int a[11], length, i, flag;
while(scanf("%ld", &N) == 1){
if(N < 10){
printf("%ld\n", N);
}else if(N < 19){
N = (N - 9) * 11;
printf("%ld\n", N);
}else if(N == 1999999999){
printf("1000000000000000001\n");
}else if(N == 2000000000){
printf("1000000001000000001\n");
}else{
limit = 0;
flag = 0;
while(N > limit*2){
limit = limit * 10 + 9;
}
limit /= 10;
N -= limit * 2;
if(N > (limit+1)*9){
N -= (limit + 1) * 9;
flag = 1;
}
N += limit;
for(length = 0; N > 0; N /= 10, length++){
a[length] = N % 10;
}
for(i = 0; i < length; i++){
printf("%d", a[length-1-i]);
}
if(flag == 1){
printf("%d", a[0]);
}
for(i = 1; i < length; i++){
printf("%d", a[i]);
}
printf("\n");
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -