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

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

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

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

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

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

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15635 / 9977 / 1499
Регистрация: 24.12.2010
Сообщений: 18,735
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
15635 / 9977 / 1499
Регистрация: 24.12.2010
Сообщений: 18,735
27.02.2012, 22:06     Куб числа #4
theonlymine, вы тут вычисляете куб, а не находите нужные числа. Кроме того нигде не сказано, что число - 3-значное.
Но ваш подход можно положить в основу алгоритма.
BumerangSP
4285 / 1407 / 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
4285 / 1407 / 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
4285 / 1407 / 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
4285 / 1407 / 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)
- ввод через пробел
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.02.2012, 22:43     Куб числа #16
Хм, стоп. Т.е. задание не на вычисление куба любого числа, так? Нужно лишь такие числа найти?
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
27.02.2012, 22:46  [ТС]     Куб числа #17
BumerangSP, ну да, по идеи
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.02.2012, 22:49     Куб числа #18
XaJlop4ik, тогда вот:
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
#include <conio.h>
#include <stdio.h>
#include <math.h>
int main()
{
 int i,a,x,s;
 double prod,p;
 for (i=1; i<32000; i++)
 {
  s=0;
  x=i;
  p=0;
  while (x!=0)
   {
    s=x%10;
    x=x/10;
    p+=s;
   }
 prod=pow(p,3);
 if (prod==i)
  printf("%5.1f ",prod);
 }
 getch();
 return 0;
}
Здесь он выводит все числа, куб суммы которых = самому себе. Предел до 32000.
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
27.02.2012, 22:55  [ТС]     Куб числа #19
BumerangSP, Спасибо!
только один вопрос: printf("%5.1f ",prod); - что это значит?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2012, 23:01     Куб числа
Еще ссылки по теме:

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

Найти квадрат (для целого) и куб (для вещественного числа) - C++
ПОМОГИТЕ ПОЖАЛУЙСТА РАЗОБРАТЬСЯ С КОДОМ, ТОЧНЕЕ С ФУНКЦИЕЙ,КОТОРАЯ ЭТО ВОЗВЕДЕНИЕ В КВАДРАТ ИЛИ КУБ ОСУЩЕСТВЛЯЕТ. Если мы вводим целое...

Даны действительные числа А, В, С. Большее из них возвести в квадрат, "среднее"(по величине)- в куб, меньшее - - C++
Даны действительные числа А, В, С. Большее из них возвести в квадрат, &quot;среднее&quot;(по величине)- в куб, меньшее - в 4-ую степень. После этого...

Операторы выбора. Даны три различных числа. Среднее поделить на меньшее, меньшее возвести в куб, большее оставить без изменения - C++
Даны три различных числа. Среднее поделить на меньшее, меньшее возвести в куб, большее оставить без изменения.

Нарисовать куб - C++
Только начинаю изучение 3Д директ Для примера никто не может показать как нарисовать куб x=y=z=50... Добавлено через 27 минут DEL...


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

Или воспользуйтесь поиском по форуму:
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.02.2012, 23:01     Куб числа #20
XaJlop4ik, ну, printf() - это вывод на экран. %f - тип выводимого значения, 5.1 - это количество знаков после запятой (в данном случае 1), prod - название переменной. Ограничение на количество знаков пришлось использовать из-за функции pow, которая требует тип double (с плавающей запятой).
Yandex
Объявления
27.02.2012, 23:01     Куб числа
Ответ Создать тему
Опции темы

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