今天兴起又去cf上康了康(就是找虐QAQ
有个题目是给一个数的数根,和他是这个根的第几个数
戳这里~http://codeforces.com/problemset/problem/1107/B
树根S(5)=5, S(38)=S(3+8=11)=S(1+1=2)=2 S(10)=S(1+0=1)=1S(10)=S(1+0=1)=1.(这里注意从0开始的!!!
开始想着搜索,氮素不可能哇(吼起来!
后来发现 一个数的树根就是他对9取余
具体证明过程http://www.flyingcoloursmaths.co.uk/a-neat-number-trick-digital-roots-and-modulo-9-arithmetic/(数学+嘤语 嘤嘤嘤
加一个栗子解释:
12,345 = 1 × (9,999 + 1) + 2 × (999 + 1) + 3 × (99 + 1) + 4 × (9 + 1) + 5.
12,345 = (1 × 9,999 + 2 × 999 + 3 × 99 + 4 × 9) + (1 + 2 + 3 + 4 + 5)
辣么第n个以m为数根的数就是(n-1)*9+m咯(因为从0开始 所以要-1
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
const int manx=100006;
int main()
{
ios;
int t;
cin>>t;
while(t--)
{
ll a,b;
cin>>a>>b;
cout<<(a-1)*9+b<<endl;
}
}