Orig Description
Score : 300 points
Problem StatementYou are given an integer N. Among the integers between 1 and N (inclusive), how many Shichi-Go-San numbers (literally "Seven-Five-Three numbers") are there?
Here, a Shichi-Go-San number is a positive integer that satisfies the following condition:
When the number is written in base ten, each of the digits 7, 5 and 3 appears at least once, and the other digits never appear.
Constraints
1 \leq N < 10^9
N is an integer.
InputInput is given from Standard Input in the following format:
N
OutputPrint the number of the Shichi-Go-San numbers between 1 and N (inclusive).
Sample Input 1575
Sample Output 14
There are four Shichi-Go-San numbers not greater than 575: 357, 375, 537 and 573.
Sample Input 23600
Sample Output 213
There are 13 Shichi-Go-San numbers not greater than 3600: the above four numbers, 735, 753, 3357, 3375, 3537, 3557, 3573, 3575 and 3577.
Sample Input 3999999999
Sample Output 326484
Test Case Generator
Sure! Below is a test case generator for the given problem statement about finding Shichi-Go-San numbers.
```python
import random
def tcgen():
# Generate a random integer N in the range [1, 10^9)
N = random.randint(1, 10**9 - 1)
return N
# Example of generating a test case
if __name__ == "__main__":
print(tcgen())
```
### Explanation:
- The function `tcgen()` generates a single random integer `N` within the specified range `[1, 10^9)`.
- The code makes use of Python's `random.randint` function to ensure that `N` is within the constraints provided (1 ≤ `N` < 10^9).
- The generated test case will be a valid input for the problem statement.
Here's how `tcgen()` can be used to generate multiple test cases:
```python
if __name__ == "__main__":
for _ in range(10): # Generate 10 test cases
print(tcgen())
```
This will print 10 different integers, each suitable for testing the solution to the Shichi-Go-San number counting problem.