В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
Асат11
Асат11
21.05.2021 20:22 •  Информатика

Натуральное число x называется точной степенью, если существуют такие натуральные числа a и b (b > 1), что x = a в степени b (a^b). Заметим, однако, что указанные числа a и b могут определяться неоднозначно.
Например, 16 = 2^4 = 4^2 ,
то есть для x = 16 существуют две такие пары (a, b).
Ваша задача состоит в том, чтобы найти все такие пары a,b что x = a^b.

Формат входного файла

Входной файл содержит целое число x (2 <= x <= 10^9)

Формат выходного файла

В первой строке выходного файла выведите число k искомых пар (a, b).
В каждой из последующих k строк выведите два числа:
ai и bi.

Примеры

power.in power.in
3 16

power.out power.out
0 2
2 4
4 2

Ответ:
ИваПоля
ИваПоля
15.10.2020 18:04

#include <iostream>

#include <cmath>

#include <fstream>

using namespace std;

int main() {

fstream inputF("power.in.txt");

int x;

inputF >> x;

inputF.close();

int a = 0, b = 0;

fstream outputF("power.out.txt");

while (a <= x && b <= x) {

 a == x ? a = 0, b++ : a++;

 if (pow(a, b) == x) {

  outputF << a << ' ' << b << endl;

 }

}

return 0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?