Daup
4 год назад
Натуральное число 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.inpower.in316 power.outpower.out02 2 4 4 2
ОТВЕТЫ
Heath Gordon
Oct 24, 2020
#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;
}
953
Смежные вопросы: