数对组合问题 定义G(a,b)为两个正整数a和b先后连接起来组成新的正整数。例如: 当a为202、b为4时,G(a,b)=G(202,4)= 2024。 现在给定两个整数n和m,请问有多少数对(a, b)满足G(a,b)=(a +1)*(b +1)-1,其中1<=a<=n,1<=b<=m,并且a和b均为正整数。 输入描述 输入一行,两个正整数n和m。 输出描述 输出一行,包括一个整数,表示符合题目要求的结果。 样例1 输入 1 12 输出 1 样例2 输入 56 1000 输出 168 提示 对于100%的数据:1<=n,m<=2*109
正确答案:参考程序(Python):n,m=map(int,input().split());ans=0;for b in range(1,min(m,10)+1):db=len(str(b));#G=a*10^db+b=(a+1)(b+1)-1=ab+a+b。化简a*10^db+b=ab+a+b→a(10^db-b-1)=b→a=b/(10^db-b-1)。a= b*10? 推导:a*10^db+b=ab+a+b→a*10^db=ab+a→a(10^db-b-1)=0→10^db=b+1。即b=10^db-1=9
试卷来源:2025全国青少年信息素养大赛C++算法创意实践挑战赛(初中组_复赛)真题