Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72

Узнать является ли число пятой степенью. Помогите найти ошибку.

05.12.2013, 16:45. Показов 2154. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
27
28
29
30
31
32
33
34
35
#include<stdio.h>
 
int main()
{
    int x,a,b,c,d;
    scanf("%d",&x);
    b=1;
    if(b==x)
    {
       d=1;
       printf("%d", d);
       return 0;
    }
 
    if (x<b)
    {
      d=0;
    }
 
 
    a=0;
 
    c=b;
    while (a<c)
    {
        b=b+1;
        a=a+1;
    }
 
    printf("%d", d);
 
 
 
 
}
попытался написать прогу, которая проверяет, является ли число пятой степенью, но получается бред какой-то. Помогите, пожалуйста. но использовать можно только прибавление 1, умножение и целочисленное деление
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.12.2013, 16:45
Ответы с готовыми решениями:

В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число степенью 2.
В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число...

Является ли число степенью двойки? Вводится число. Напечатать YES, если оно является степенью двойки, NO - ина
Является ли число степенью двойки? Вводится число. Напечатать YES, если оно является степенью двойки, NO - иначе си шарп

Помогите, ГОС экзамен! Является ли число степенью другого числа
На Lisp написать программу определения является ли натуральное число степенью какого-либо натурального числа.

33
34 / 35 / 6
Регистрация: 03.10.2011
Сообщений: 61
05.12.2013, 17:02
является ли число пятой степенью
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
27
#include <iostream>
using namespace std;
 
int main()
{
    cout<<"Enter n: ";
    int n;
    cin>>n;
    bool flag=true;
 
    while ((n>5)&&(flag))
    {
        if ((n % 5)==0) 
            n/=5;
        else 
            flag=false;  
    }
 
    if ((flag)&&(n%5==0)) 
        cout<<"Yes";
    else 
        cout<<"No";
 
    // pause
    cin.get();
    cin.get();
}
1
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
05.12.2013, 17:05  [ТС]
flag,true, falce - что это такое?
0
34 / 35 / 6
Регистрация: 03.10.2011
Сообщений: 61
05.12.2013, 17:09
Цитата Сообщение от maxim12345 Посмотреть сообщение
flag,true, falce - что это такое?
булевая переменная, которая будет возвращать отрицательное значение, если n'число не делится на 5.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.12.2013, 17:12
Цитата Сообщение от maxim12345 Посмотреть сообщение
falce
false - ложь. true - истина (правда) flag - введенная (объявленная) авторм программы логическая (булевая) переменная

Добавлено через 1 минуту
Цитата Сообщение от rescr1pt Посмотреть сообщение
булевая переменная, которая будет возвращать отрицательное значение
Простите, как это?
1
 Аватар для egor2116
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
05.12.2013, 17:15
Как то так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
 int main()
 {
     float numeric, source;
     std::cout << "Input numeric: "; std::cin >> numeric;
     
     source = numeric;
     while(numeric > 1.0f)
        numeric /= 5;
     
     if(numeric == 1) 
        std::cout << source << " is degree 5" << std::endl;
     else
        std::cout << source << " is not degree 5" << std::endl;
     
     system("PAUSE");
     return 0;
 }
1
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
05.12.2013, 17:17
rescr1pt,
а ты уверен что чтобы узнать пятая ли степень числа нужно делить на 5?
например число 32 =25
ну ни как на пять не делится
2
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.12.2013, 17:18
Цитата Сообщение от rescr1pt Посмотреть сообщение
(n%5==0)
Вот тут надо здорово подумать. ИМХО, по приоритету сначала выполняется сравнение (5==0). Оно дает false = 0/. Потом вы будете делить на 0. Может быть я с приоритетами и путаю, но чтоб не было таких вопросов, рекомендуется писать
C
1
((n%5)==0)
Сам на эти грабли пару раз наступил, никому не советую...
0
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
05.12.2013, 17:19  [ТС]
Кстати, да. Помогите пожалуйста разрулить
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
05.12.2013, 17:20
я бы попробовал как то так
C++
1
2
3
4
5
int tmp=pow(n,1.0/5.0);
if(tmp*tmp*tmp*tmp*tmp==n)
   printf("Yes");
else
   printf("No");
2
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
05.12.2013, 17:23  [ТС]
А можно это как то в более простом варианте, ибо я новичек, этого не понимаю, да и использовать можно только +1, целочисленное деление, остаток от деления

Добавлено через 1 минуту
а можно поподробнее, ибо я новичек и не понимаю еще этого, да и использовать можно только +1, целочисленное деление и остаток от деления
0
 Аватар для egor2116
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
05.12.2013, 17:25
например число 32 =25
ну ни как на пять не делится
а Вы попробуйте )))
std::cout << 32 / 5;
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.12.2013, 17:28
Цитата Сообщение от ValeryS Посмотреть сообщение
rescr1pt,
а ты уверен
Ну, то что код решает какую-то совсем другую задачу - это ясно.
C++
1
2
3
4
5
6
7
for(flag=i=0; ; i++) {
  k = i*i*i*i*i;
  if (k==n) {
    flag=1; break; }
  if k > n) break;
}
printf (flag ? "Yes" : "No");
Оформление (main, объявления переменных...) я оставил тебе
1
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
05.12.2013, 17:34
Цитата Сообщение от maxim12345 Посмотреть сообщение
А можно это как то в более простом варианте, ибо я новичек, этого не понимаю, да и использовать можно только +1, целочисленное деление, остаток от деления
интересно как ты узнаешь корень пятой степени оперируя только этими действиями
да и нет у меня ничего сложного
Цитата Сообщение от ValeryS Посмотреть сообщение
int tmp=pow(n,1.0/5.0);
берем корень пятой степени из числа n дробную часть отбрасываем (для этого есть int)
функция pow возводит число в степень, корень пятой степени это 1/5
дальше возводим полученное число в пятую степень
Цитата Сообщение от ValeryS Посмотреть сообщение
tmp*tmp*tmp*tmp*tmp
и сравниваем если полученное произведение равно первоначальному числу
значит первоначальное число является пятой степенью
например
32
корень 2
2*2*2*2*2 равно 32
является
33
корень
2.01232
целое 2
2*2*2*2*2 не равно 33
не является

Добавлено через 1 минуту
Цитата Сообщение от egor2116 Посмотреть сообщение
а Вы попробуйте )))
std::cout << 32 / 5;
и что на самом деле 6
1
34 / 35 / 6
Регистрация: 03.10.2011
Сообщений: 61
05.12.2013, 17:36
Цитата Сообщение от Байт Посмотреть сообщение
Простите, как это?

Не по теме:

Поймали на слове. В риторическом случаи, false (0) отрицательное, true(1) положительное.
Оправдался считай :D


А о задаче я не додумал.
1
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
05.12.2013, 17:41  [ТС]
мне это нужно будет переписать на язык нашего препода) он очень похож на паскаль, поэтому по возможности бы как заменить циклы на while P.S. с "языком препода" не смейтесь сильно)
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.12.2013, 17:44
Цитата Сообщение от maxim12345 Посмотреть сообщение
"языком препода"
Придется просить новый раздел открывать
2
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
05.12.2013, 17:45  [ТС]
как можно вот тот код без умножения реализовать? его нельзя использовать
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.12.2013, 17:49
Цитата Сообщение от maxim12345 Посмотреть сообщение
без умножения реализовать?
C
1
for(p=j=0; j< i ; j++) p+=i;
Получится i*i
И так еще 2-3 раза...
1
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
05.12.2013, 17:50
Цитата Сообщение от maxim12345 Посмотреть сообщение
возможности бы как заменить циклы на while
ну вот тебе решение, по мотивам Байт,
C++
1
2
3
4
5
6
7
8
9
10
11
12
int k=1;
bool flag=false;
while(k*k*k*k*k<=n)
{
  if(k*k*k*k*k==n)
  {
  flag=true;
  break; 
  }
k++;
}
printf (flag ? "Yes" : "No");
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.12.2013, 17:50
Помогаю со студенческими работами здесь

Помогите, ГОС экзамен! Является ли число степенью другого числа
Нужно написать программу определения является ли натуральное число степенью какого-либо натурального числа. Вообще нужно написать на...

Функция, аргументом которой является целое число, проверяет является ли число степенью 4
Функция, аргументом которой является целое число, должна вернуть t, если число является степенью числа 4, иначе вывести nil. Подскажите,...

Найти и вывести первое число большее n (вводится), которое является степенью натурального числа 2.9
Найти и вывести первое число большее n (вводится), которое является степенью натурального числа 2...9

Определить, является ли число степенью 3, и если является - вывести эту степень
Добрый день. Нужно вывести степень числа 3. Т.к. входное значение ограниченно всего пятью вариантами (3, 9, 27, 81, 243) нужно сделать...

Определите, является ли число степенью числа 2, и если является, то выведите значение этой степени
Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени / С++ для...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru