Contest Duration: - (local time) (100 minutes) Back to Home

## C - Unlucky 7 Editorial by en_translator

In order to write a number in base $$8$$ or $$10$$, the most popular and easiest way is to find the least significant digit first, and then calculate the more significant ones:

Sample Code (C++)

string to_oct(int n){
string s;
while(n){
s = to_string(n%8) + s;
n /= 8;
}
return s;
}


Note that some languages have standard functions or methods to convert to decimal or octal.

Sample Code (Python)

N = int(input())
ans = 0
for i in range(1, N+1):
if ('7' not in str(i)) and ('7' not in oct(i)):
ans += 1
print(ans)


Sample Code (Ruby)

N = gets.to_i
ans = 0
for i in 1..N do
if not i.to_s(10).include?('7') and not i.to_s(8).include?('7') then
ans += 1
end
end
p ans


posted:
last update: