文章
5
粉丝
61
获赞
0
访问
4.5k
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
//#include<>
//#include<>
using namespace std;
#define MAX 10000
//递归函数,用于查找以该数值为头部的符合规则的数
int find(int r, int l, int count)
{
int con=0;
if (count > r)return 0;
char nm[20];
_itoa(count, nm, 10);
for (int i = 0; i < (strlen(nm) - 1); i++)
{
if (nm[i] == (char)(count % 10))
return 0;
}
if(count>=l)
con++;
if(count % 10!=9)
con+=find(r, l,count * 10 + (count % 10 + 1));
if(count % 10 != 0)
con+=find(r, l,count * 10 + (count % 10 - 1));
return con;
}
int main()
{
int n;
int add_num[100];
int k = 0;
for (int i = 10; i < 100; i++)
if ((i % 10 - i / 10) == 1 || (i % 10 - i / 10) == -1)
add_num[k++] = i;
while (scanf("%d", &n) != EOF)
{
int* add_count = (int*)calloc(n, sizeof(int));
for (int i = 0; i < n; i++)
{
int l, r;
scanf("%d %d", &l, &r);
for (int j...
登录后发布评论
itoa函数是一个非标准的函数,编译器有可能不支持,不建议使用
可以使用标准库中的sprintf函数