[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