给定一个数字 D ,表示正整数的位数。求至少有一个零的正整数(由d个数字组成)的总数。 例如:
null
Input : d = 1Output : 0There's no natural number of 1 digit thatcontains a zero.Input : d = 2Output : 9The numbers are, 10, 20, 30, 40, 50, 60, 70, 80 and 90.
我们强烈建议您在继续解决方案之前单击此处并进行练习。
一个简单的解决方案是遍历所有d位正数。对于每个数字,遍历其数字,如果有任何0位,则递增计数(类似于 这 ). 以下是一些观察结果:
- 正好有d个数字。
- 最重要位置的数字不能为零(不允许前导零)。
- 除最重要的位置外,所有其他位置都可以包含零。
考虑到以上几点,我们来计算d位数字的总数:
We can place any of {1, 2, ... 9} in D1Hence D1 can be filled in 9 ways.Apart from D1 all the other places can be 10 ways. (we can place 0 as well)Hence the total numbers having d digits can be given as: Total = 9*10d-1Now, let's find the numbers having d digits, thatdon't contain zero at any place. In this case, all the places can be filled in 9 ways.Hence count of such numbers is given by:Non_Zero = 9dNow the count of numbers having at least one zero can be obtained by subtracting Non_Zero from Total.Hence Answer would be given by:9*(10d-1 - 9d-1)
下面是同样的程序。
C++
//C++ program to find the count of positive integer of a // given number of digits that contain atleast one zero #include<bits/stdc++.h> using namespace std; // Returns count of 'd' digit integers have 0 as a digit int findCount( int d) { return 9*( pow (10,d-1) - pow (9,d-1)); } // Driver Code int main() { int d = 1; cout << findCount(d) << endl; d = 2; cout << findCount(d) << endl; d = 4; cout << findCount(d) << endl; return 0; } |
JAVA
// Java program to find the count // of positive integer of a // given number of digits // that contain atleast one zero import java.io.*; class GFG { // Returns count of 'd' digit // integers have 0 as a digit static int findCount( int d) { return 9 * (( int )(Math.pow( 10 , d - 1 )) - ( int )(Math.pow( 9 , d - 1 ))); } // Driver Code public static void main(String args[]) { int d = 1 ; System.out.println(findCount(d)); d = 2 ; System.out.println(findCount(d)); d = 4 ; System.out.println(findCount(d)); } } // This code is contributed by Nikita Tiwari. |
Python3
# Python 3 program to find the # count of positive integer of a # given number of digits that # contain atleast one zero import math # Returns count of 'd' digit # integers have 0 as a digit def findCount(d) : return 9 * (( int )(math. pow ( 10 ,d - 1 )) - ( int )(math. pow ( 9 ,d - 1 ))); # Driver Code d = 1 print (findCount(d)) d = 2 print (findCount(d)) d = 4 print (findCount(d)) # This code is contributed by Nikita Tiwari. |
C#
// C# program to find the count // of positive integer of a // given number of digits // that contain atleast one zero. using System; class GFG { // Returns count of 'd' digit // integers have 0 as a digit static int findCount( int d) { return 9 * (( int )(Math.Pow(10, d - 1)) - ( int )(Math.Pow(9, d - 1))); } // Driver Code public static void Main() { int d = 1; Console.WriteLine(findCount(d)); d = 2; Console.WriteLine(findCount(d)); d = 4; Console.WriteLine(findCount(d)); } } // This code is contributed by nitin mittal. |
PHP
<?php // PHP program to find the count // of positive integer of a given // number of digits that contain // atleast one zero // Returns count of 'd' digit // integers have 0 as a digit function findCount( $d ) { return 9 * (pow(10, $d - 1) - pow(9, $d - 1)); } // Driver Code { $d = 1; echo findCount( $d ), "" ; $d = 2; echo findCount( $d ), "" ; $d = 4; echo findCount( $d ), "" ; return 0; } // This code is contributed by nitin mittal ?> |
Javascript
<script> // JavaScript program to find the count // of positive integer of a // given number of digits // that contain atleast one zero // Returns count of 'd' digit // integers have 0 as a digit function findCount(d) { return 9 * ((Math.pow(10, d - 1)) - (Math.pow(9, d - 1))); } // Driver Code let d = 1; document.write(findCount(d) + "<br/>" ); d = 2; document.write(findCount(d) + "<br/>" ); d = 4; document.write(findCount(d) + "<br/>" ); // This code is contributed by target_2. </script> |
输出:
092439
本文由 阿什图什·库马尔 。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请发表评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END