[Count the numbers satisfying (m + sum(m) + sum(sum(m))) equals to N]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Count the numbers satisfying (m + sum(m) + sum(sum(m))) equals to N]相关的知识,希望对你有一定的参考价值。

Given an integer N, the task is to find out the count of numbers M that satisfy the condition M + sum(M) + sum (sum(M)) = N, where sum(M) denotes the sum of digits in M.

Input:
The first line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case contains a number N as input.

Output:
For each test case, print the count of numbers in new line.

Constraints:
1<=T<=500
1<=N<=109

Example:
Input:
2
5
9

Output:

0
1

Explanation:

Input: 9
Output: 1
Explanation: 
Only 1 positive integer satisfies the condition that is 3, 
3 + sum(3) + sum(sum(3)) = 3 + 3 + 3  = 9
#include <stdio.h>
#include <stdlib.h>
int sum(int n)
    {
        int sum=0;
        while(n)
        {
            sum=sum+n%10;
            n=n/10;
        }
        return sum;
    }
int main()
{
    int num,i;
    scanf("%d",&num);
    int *Arr=(int *)malloc(sizeof(int)*num);
    int *Brr=(int *)malloc(sizeof(int)*num);
    for(i=0;i<num;i++)
    {
        scanf("%d",&Arr[i]);
        Brr[i]=0;
    }

    for(i=0;i<num;i++)
    {
        int j=0;
        for(j=0;j<Arr[i];j++)
        {
            if(j+sum(j)+sum(sum(j))==Arr[i])
                Brr[i]++;
        }
    }
    for(i=0;i<num;i++)
    {
        printf("%d\\n",Brr[i]);
    }

    return 0;
}

  看似完美的实现了要求,提交代码显示:

技术分享


















以上是关于[Count the numbers satisfying (m + sum(m) + sum(sum(m))) equals to N]的主要内容,如果未能解决你的问题,请参考以下文章

315. Count of Smaller Numbers After Self

315. Count of Smaller Numbers After Self

315. Count of Smaller Numbers After Self

315. Count of Smaller Numbers After Self

LeetCode Count of Smaller Numbers After Self

315. Count of Smaller Numbers After Self