-
CodeForces 808A-Lucky Year
-
题目链接:A. Lucky Year
-
思路:
题目大意是,如果一个年份数字,只有至多一个非零数,称为Luckyear,给一个年份,问离下一个luckyear还有多少年
一个数至多有一个非零数,所以要么这个数是0,要么非零数在最高位,那么下一个luckyear 只能是最高位+1
-
代码:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long long Year;
long long Temp;
long long Last_bit;
long long Pow=0;
cin>>Year;
if(Year>=0&&Year<=9) //0-9直接输出1
{
cout<<"1"<<endl;
return 0;
}
Temp=Year;
while(Temp) //求最高位的数字以及位数
{
Last_bit=Temp%10;
Temp/=10;
Pow++;
}
Temp=(Last_bit+1)*pow(10,Pow-1); //最高位+1
cout<<Temp-Year<<endl;
return 0;
}