Repeat Number

Repeat Number


题目描述

Definition: a+b = c, if all the digits of c are same ( c is more than ten)then we call a and b are Repeat Number. My question is How many Repeat Numbers in [x,y].

输入

There are several test cases.

Each test cases contains two integers x, y(1<=x<=y<=1,000,000) described above.

Proceed to the end of file.

输出

For each test output the number of couple of Repeat Number in one line.

样例输入

 
  
1 10
10 12

样例输出

 
  
5
2

提示


If a equals b, we can call a, b are Repeat Numbers too, and a is the Repeat Numbers for itself.


题意:a+b=c中c每一位数字都相同,为在x~y中有多少个这样的组合,其中数字可以重复,例如11+11==22;
题解:找到x*2和y*2中c个区间,然后暴力求解;
代码如下:
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
#include <stdlib.h>

using namespace std;

int a[40];
void f()
{
    int j,k=0;
    for (int i = 11; i <= 10000000; i = i*10+1)
        for (j = 1; j <= 9; j ++)
            a[k ++] = i*j;
}
int main ()
{
    int n,m,i,j,k;
    f();
    while (scanf("%d%d",&n,&m)!=EOF)
    {
        int x=-1,y=0;
        for (i = 0; i < 54; i ++)
        {
            if (a[i] >= n*2&& x==-1 )
                x = i;
            if (a[i] <= m*2)
            {
                y = i;
            }
        }
        int sum = 0;
        for (i = x; i <= y; i ++)
        {
            for (j = n; j <= m; j ++)
            {
                if(a[i]-j <j)
                    break;
                if (a[i]-j >= n && a[i]-j <= m && a[i]-j >= j){
                    sum ++;
                }
            }
        }
        printf("%d\n",sum);
    }
    return 0;
}



转载于:https://www.cnblogs.com/lanaiwanqi/p/10445750.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值