Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
#1

Куб числа - C++

27.02.2012, 21:51. Просмотров 2970. Ответов 20
Метки нет (Все метки)

Доброго времени суток, уважаемые форумчане)
Нужно найти число, которое равняется кубу суммы всех своих цифр.
Ну например: 512=(5+1+2)^3
Просьба, помочь) Бо в голове не укладывается как это сделать( уже заюзал цикл for все равно, не выходит(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2012, 21:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Куб числа (C++):

Описать функцию возведения любого натурального числа n в куб без операции умножения, пользуясь следующим свойством: куб любого числа n равен - C++
То есть {1}^{3}=1 {2}^{3}=3+5 {3}^{3}=7+9+11 Написала программу на С++ Оказалось что функцию не описала. Как это сделать? ...

Определить, что куб суммы цифр числа равен квадрату числа - C++
Кто может решите пожалуйста задачу с помощью циклов. Задание 5: Пользователь вводит целое число А. Программа должна определить, что куб...

куб числа в С++ - C++
Здравствуйте! У меня такая задумка, пользователь вводит число, а программа выводит куб от этого числа. Программа компилируется и ошибок...

Все отрицательные числа массива возвести в куб и найти их сумму. - C++
1.С клавиатуры вводится последовательность из N чисел. Все отрицательные числа возвести в куб и найти их сумму. 2.С клавиатуры вводится...

Как возвести числа в квадрат , куб (также в другие степени ) в с++? - C++
помогите пожалуйста )

Если число - куб натурального числа то возвращать true, иначе false - C++
Из задачника. Если данное число n - куб натурального числа то возвращать true,или же false; То есть если n=27 и 27=3^3 то t=true ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Байт
Эксперт C
15995 / 10263 / 1537
Регистрация: 24.12.2010
Сообщений: 19,354
27.02.2012, 22:01 #2
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
уже заюзал цикл for все равно, не выходит
Показал бы, чего ты там заюзал. Тогда яснее бы стало, чем тебе можно помочь.
theonlymine
1 / 1 / 0
Регистрация: 21.02.2012
Сообщений: 11
27.02.2012, 22:02 #3
C
1
2
3
4
5
6
7
8
9
10
int main()
{
    int n;
    scanf("%d", &n);
    cube = n/100 + (n/10)%10 + n%10; //берем 1 цифру + 2 цифру + 3 цифру
    cube *= cube; //доводим до куба, можно с помощью for
    cube *= cube;
    printf ("%d\n", cube);
    return 0;
}
C
1
2
3
int i;
for (i = 0; i < 2; i++)
       cube *= cube;
вот с помощью цикла. Мб еще функция в math.h есть, которая в куб возводит.
P.S. алгоритм детский, но все же.
Байт
Эксперт C
15995 / 10263 / 1537
Регистрация: 24.12.2010
Сообщений: 19,354
27.02.2012, 22:06 #4
theonlymine, вы тут вычисляете куб, а не находите нужные числа. Кроме того нигде не сказано, что число - 3-значное.
Но ваш подход можно положить в основу алгоритма.
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.02.2012, 22:20 #5
А чем pow(x,y) не устраивает? Которая в math находится.
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
27.02.2012, 22:22  [ТС] #6
theonlymine, спасибо, конечно, но мне не нужно вычислять сам куб. Мне нужно найти само число, которое равняется сумме кубов своих чисел
theonlymine
1 / 1 / 0
Регистрация: 21.02.2012
Сообщений: 11
27.02.2012, 22:25 #7
Цитата Сообщение от Байт Посмотреть сообщение
theonlymine, вы тут вычисляете куб, а не находите нужные числа. Кроме того нигде не сказано, что число - 3-значное.
Но ваш подход можно положить в основу алгоритма.
невнимательность) тогда отдельно написать функцию для простоты:

C
1
2
3
4
5
6
7
8
9
int num(int n)
{
    int sum = 0;
    while (n > 0) {
        sum += n % 10;
        n /= 10;
    }
        return sum;
}
и там сделать
C
1
cube = num(n);
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.02.2012, 22:26 #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <conio.h>
#include <stdio.h>
#include <math.h>
int main()
{
 int a,x,s=0;
 double prod,p=0;
 scanf("%d",&a);
 x=a;
 while (x!=0)
  {
   s=x%10;
   x=x/10;
   p+=s;
  }
 prod=pow(p,3);
 printf("%5.1f",prod);
 getch();
 return 0;
}
x1Mike7x
216 / 129 / 6
Регистрация: 06.11.2010
Сообщений: 234
27.02.2012, 22:26 #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
__int64 dp3( __int 64 x )
{
    __int64 z = 0ll;
    for ( 7; x; x /= 10 )
        z += x % 10;
    return z * z * z;
}
 
int main()
{
    __int64 a;
    for ( a = 123ll; a != dp3( a ); ++a );
    std::cout << a << " is ok\n";
    return 0;  
}
theonlymine
1 / 1 / 0
Регистрация: 21.02.2012
Сообщений: 11
27.02.2012, 22:28 #10
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
theonlymine, спасибо, конечно, но мне не нужно вычислять сам куб. Мне нужно найти само число, которое равняется сумме кубов своих чисел
тогда соедини куски, которые я написал, в отдельную функцию, которая подсчитывает куб числа.
и далее цикл (если неизвестно, до какого числа считать):

C
1
2
3
4
5
int k = 0;
while (1) {
    if (k == cube(k)) // cube - функция подсчета офк
        printf("%d\n", k);
}
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
27.02.2012, 22:34  [ТС] #11
theonlymine, ну все, теперь я точно запутался(
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.02.2012, 22:36 #12
XaJlop4ik, Вам дали полный рабочий код на первой странице. В чем тут путаться?
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
27.02.2012, 22:37  [ТС] #13
BumerangSP, спасибо, а как сделать, что бы ввод осуществлялся через пробел?
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.02.2012, 22:39 #14
XaJlop4ik, ввод чего? Нескольких чисел?
theonlymine
1 / 1 / 0
Регистрация: 21.02.2012
Сообщений: 11
27.02.2012, 22:43 #15
В целом так:

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
#include <stdio.h>
#include <stdlib.h>
 
int cube(int n)
{
        int sum = 0;
        while (n > 0) {
                sum += n % 10;
                n /= 10;
        }
        sum *= sum;
        sum *= sum; //или pow(a,b)
        return sum;
}
 
int main(void)
{
        int k = 0;
        while (1) {
                if (k == cube(k)) // cube - функция подсчета офк
                        printf("%d\n", k); //выводим на экран
        }
        return 0;
}
не компилил, но думаю, мелкие ошибки исправишь.

Добавлено через 55 секунд
Цитата Сообщение от BumerangSP Посмотреть сообщение
XaJlop4ik, ввод чего? Нескольких чисел?
C
1
scanf("%d %d %d", &a, &b, &c)
- ввод через пробел
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2012, 22:43
Привет! Вот еще темы с ответами:

Составить программу возведения натурального числа в куб, учитывая указанную закономерность - C++
Ребят, помогите пожалуйста, не могу никак решить эту задачу. Составить программу возведения натурального числа в третью степень(и чтобы...

Получить натуральные числа куб суммы цифр которых равен заданному числу - C++
Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m. #include &lt;iostream&gt; using namespace std; int main()...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.02.2012, 22:43
Ответ Создать тему
Опции темы

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