对于给定的十进制整数N(N<100000),将1到N(含N)之间的每个整数转成八进制,求转换后的所有八进制数中含7的总个数。 提示:某个数的八进制含7的个数可以参照下面的例子: 对于整数127,对应的八进制为177,其含7的个数为2。 输入说明:输入整数N 输出说明:输出含7的总个数
输入样例:
8
输出样例:
0
代码:
C++:
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
int arr[100];
int i = 0;
while (n > 0) {
arr[i++] = n % 8;
n = n / 8;
}
int count = 0;
for (int j = 0; j < i; j++) {
if (arr[j] == 7) {
count++;
}
}
cout << count << endl;
return 0;
}
Python:
n = int(input())
i = 0
arr = []
if n == 0:
print(0)
else:
while n > 0:
arr.append(n % 8)
n = n // 8
arr.append(n)
count = 0
for j in arr:
if j == 7:
count += 1
print(count)
Java:
package com.my.gududu;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
if (n == 0) {
System.out.println(0);
}
else {
int i = 0;
int arr[] = new int[100];
while (n > 0) {
arr[i++] = n % 8;
n /= 8;
}
int count = 0;
for (int j = 0; j < i; j++) {
if (arr[j] == 7) {
count++;
}
}
System.out.println(count);
}
}
}