Дано два цілих двоцифрових чи трицифрових числа A і B (A < B)
. Визначити, скільки разів між цими числами зустрічається цифра n. Язык программирования go
Ответы
Ответ:
Объяснение:
Дано два цілих двоцифрових чи трицифрових числа `A` і `B` (`A < B`). Необхідно визначити, скільки разів між цими числами зустрічається цифра `n`.
## Алгоритм
1. Задати змінну `count` для підрахунку кількості входжень цифри `n`.
2. Перевірити кожне число у діапазоні між `A` і `B`.
3. Розбити кожне число на цифри.
4. Перевірити кожну цифру числа на співпадіння з цифрою `n`. Якщо зустрілась цифра `n`, збільшити змінну `count` на 1.
5. Повернути значення змінної `count`.
package main
import (
"fmt"
)
func countDigitInRange(A int, B int, n int) int {
count := 0
for i := A; i <= B; i++ {
num := i
for num > 0 {
if num%10 == n {
count++
}
num /= 10
}
}
return count
}
func main() {
A := 10
B := 99
n := 5
count := countDigitInRange(A, B, n)
fmt.Printf("Кількість входжень цифри %d в діапазоні чисел від %d до %d: %d", n, A, B, count)
}
Ответ:
Ось приклад реалізації цієї задачі на мові програмування Go:
package main
import (
"fmt"
"strconv"
)
func main() {
var A, B, n int
fmt.Print("Введіть перше число (A): ")
fmt.Scanln(&A)
fmt.Print("Введіть друге число (B): ")
fmt.Scanln(&B)
fmt.Print("Введіть цифру, яку потрібно знайти (n): ")
fmt.Scanln(&n)
count := 0
for i := A; i <= B; i++ {
digits := strconv.Itoa(i)
for _, digit := range digits {
if int(digit-'0') == n {
count++
}
}
}
fmt.Printf("Цифра %d зустрічається між числами %d та %d %d разів.\n", n, A, B, count)
}
Объяснение:
Пояснення до коду:
1) Ми спочатку зчитуємо два цілих числа A та B і цифру n з консолі.
2) Потім ми проходимося по всіх числах від A до B і конвертуємо кожне число в рядок за допомогою strconv.Itoa().
3) Далі ми проходимося по кожній цифрі в рядку і перевіряємо, чи дорівнює вона n. Якщо так, то збільшуємо лічильник count на 1.
4) Нарешті, ми виводимо результат на екран за допомогою fmt.Printf()