С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
aleksandra69
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 17
#1

Определить функцию, позволяющую распознаёт степени пятерки - C++

08.11.2013, 15:35. Просмотров 869. Ответов 12
Метки нет (Все метки)

Даны натурального число n и целые числа A1,A2,A3...An. Найти количество чисел Ai(i=1,2,3,...,n), являющихся степенями пятерки.( Определить функцию, позволяющую распознаёт степени пятерки.)

спасибо за ранее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2013, 15:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить функцию, позволяющую распознаёт степени пятерки (C++):

Дано натуральное k. Определить k-ю цифру последовательности, в которой выписаны подряд степени пятерки - C++
Дано натуральное k. Определить k-ю цифру последовательности: 1525125625..., в которой выписаны подряд степени 5. #include <stdio.h> ...

Определить функцию, позволяющую распознавать наличие вещественных корней в квадратном уравнении - C++
Даны три квадратных уравнения ах^2 + bх + с = 0, bх^2 + ах + с = 0, сх^2 + ах + b = 0. Сколько из них имеют вещественные корни?...

Определить функцию, позволяющую распознавать наличие вещественных корней в квадратном уравнении - C++
Даны три квадратных уравнения ax^2+bx+с, bx^2+ax+с, cx^2+ax+b. Сколько из них имеют вещественные корни. (определить функцию, позволяющую...

Написать рекурсивную функцию для расчета степени а в степени х, х - любое число - C++
Здравствуйте. Написать рекурсивную функцию для расчета степени а в степени х, х - любое число Нужна помощь с написанием вызова...

Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа - C++
Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа. Простые числа это когда они делятся только...

Разработать функцию, позволяющую поменять местами две произвольные строки матрицы - C++
Имеется код: #include <iostream> #include <stdio.h> using namespace std; char **s = new char* , *t; int i, j, n; int main() {...

12
reckless91
30 / 30 / 1
Регистрация: 01.11.2013
Сообщений: 63
08.11.2013, 17:09 #2
Цитата Сообщение от aleksandra69 Посмотреть сообщение
Даны натурального число n и целые числа A1,A2,A3...An. Найти количество чисел Ai(i=1,2,3,...,n), являющихся степенями пятерки.( Определить функцию, позволяющую распознаёт степени пятерки.)

спасибо за ранее
Ничего сложного.
Определяете счетчик, например:
C++
1
int count = 0;
И в цикле перебираете все целые числа A1,A2,A3...An, хранящиеся в массиве A:
C++
1
2
3
4
5
for(int i = 0; i < n; i++)
{
    if(A[i] % 5 == 0) //остаток от деления на 5
       count++;
}
P.S. Это конечно не мое дело, но с русским языком у Вас... эээ... проблемы)))
0
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
08.11.2013, 17:12 #3
reckless91, У вас 10,15,20 тоже будут степенями пятёрки?
0
jurok_85
241 / 225 / 78
Регистрация: 21.02.2013
Сообщений: 520
Завершенные тесты: 1
08.11.2013, 17:12 #4
C++
1
2
3
4
5
6
7
8
9
bool stepen(int x)
{
    int n = 100;
    for(int i=0; i != n; i++)
        if(pow(x, 1.0/i)== 5)
        return true;
 
        return false;
}
0
reckless91
30 / 30 / 1
Регистрация: 01.11.2013
Сообщений: 63
08.11.2013, 17:17 #5
Цитата Сообщение от scenotaph Посмотреть сообщение
reckless91, У вас 10,15,20 тоже будут степенями пятёрки?
Согласен, не вчитался в задание что-то)))
0
NinjaStar
46 / 48 / 2
Регистрация: 16.08.2013
Сообщений: 257
08.11.2013, 17:17 #6
там и конструкции switch хватит
0
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
08.11.2013, 17:20 #7
как вариант:
C++
1
2
3
4
5
6
7
8
bool is_integral_power_of_5(double const value) {
   static double const eps  = 1e-9;
   static double const log5 = std::log(5.);
 
   assert(value > 0.);
 
   return std::fmod(std::log(value), log5) < eps;
}
0
jurok_85
241 / 225 / 78
Регистрация: 21.02.2013
Сообщений: 520
Завершенные тесты: 1
08.11.2013, 17:34 #8
хорошо, давайте дальше разовьем темку.
вот решение(может немного не по условию)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <math.h>
using namespace std;
bool stepen(int x)
{
    int n = 100;
    for(int i=0; i != n; i++)
        if(pow(x, 1.0/i)== 5)
        return true;
 
        return false;
}
int main()
{
    const int N= 10000;
    int arr[N];
 
    for(int i = 0; i != N; i++)
    arr[i] = i;
 
    for(int i = 0; i != N; i++)
    if(stepen(arr[i]))
    cout << arr[i] << " ";
 
 
}
но все-таки хотелось бы узнать почему программа выводит результаты :
5, 25, 625. а 125 не выводит хотя ясно что 5 в третьей степени 125?
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 1
08.11.2013, 17:43 #9
Цитата Сообщение от jurok_85 Посмотреть сообщение
но все-таки хотелось бы узнать почему программа выводит результаты :
5, 25, 625. а 125 не выводит хотя ясно что 5 в третьей степени 125?
Цитата Сообщение от jurok_85 Посмотреть сообщение
if(pow(x, 1.0/i)== 5)
тут будет погрешность из за типа double, что то вроде 4.9999... или 5.00...1
1
jurok_85
241 / 225 / 78
Регистрация: 21.02.2013
Сообщений: 520
Завершенные тесты: 1
08.11.2013, 17:51 #10
тогда как это можно решить?
0
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
08.11.2013, 18:25 #11
C++
1
2
3
4
5
6
7
8
bool is_stepen_5(const int value) {
   for (int i = 0; (int)pow(5.0,i) <= value; i++) {
       if (value == (int)pow(5.0,i)) {
           return true;
       }
   }
   return false;
}
1
Hoottie_McGOOB
107 / 105 / 5
Регистрация: 04.10.2013
Сообщений: 231
08.11.2013, 20:25 #12
Даны натуральные число n и целые числа а 1, а 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
bool solve_5(int a)
{
    if(a==1) return true;
    else return ((a%5==0)?solve_5(a/5):false); 
}
 
int main()
{
 
    for(int i=1; i<1000000; i++)
        if(solve_5(i))
            cout<<i<<endl;
 
    system("pause");
    return 0;
}
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 1
11.11.2013, 15:48 #13
Цитата Сообщение от jurok_85 Посмотреть сообщение
тогда как это можно решить?
if(abs(pow(x, 1.0/i) - 5) < 0.001) //задать погрешность вручную
1
11.11.2013, 15:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2013, 15:48
Привет! Вот еще темы с ответами:

Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку - C++
Ребят, такая проблема, задание: Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. ...

Разработать функцию, позволяющую поменять местами две произвольные строки двухмерного массива - C++
Разработать функцию, позволяющую поменять местами две произвольные строки двухмерного массива. Ввести массив. Поменять два раза по две...

Разработать (и применить) для классов A и B дружественную функцию, позволяющую определять текущую дату и время - C++
Класс А определяет текущее системное время на компьютере Класс В определяет дату, изменение которой происходит в 24 часа системного...

Определить процедуру, позволяющую распознавать простые числа - C++
Дано четное число n&gt;2; проверить для этого числа гипотенузу Гольдбаха. Эта гипотенуза заключается в том, что каждое четное число n, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.