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

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

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

Найти все трёхзначные числа - C++

01.11.2010, 10:27. Просмотров 930. Ответов 8
Метки нет (Все метки)

Задача: Найти всё трёхзначные натуральные числа, равные сумме кубов своих цифр.
Обязательно: В коде использовать цикл.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2010, 10:27     Найти все трёхзначные числа
Посмотрите здесь:

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

Найти все простые трёхзначные числа - C++
найти все простые трёхзначные числа

Найти все трёхзначные числа, которые состоят из разных цифр, а их сумма равна заданному числу - C++
Помогите решить в С++ 2.2 Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А (А вводится с клавиатуры).

Напечатать все простые трёхзначные числа - С++ - C++
напечатать все простые трёхзначные числа - С++

Напечатать на экране все трёхзначные числа, кратные заданному числу - C++
Напечатать на экране все трёхзначные числа кратные заданному числу k (5 ≤ k ≤ 50 ). Числа каждой сотни располагать на отдельной строке. ...

Найти в символьном массиве трёхзначные числа - C++
Дали задание на практике. В нём надо прочесть из файла символьный массив и найти количество трёхзначных чисел в нём. Если количество...

Разбить двух/трехзначные числа на два столбца: в одном двузначные, во втором трёхзначные - C++
подскажите как написать программу на , которая бы раскидывала числа! 20 двух- и трёхзначных чисел Два столбца: в одном двузнач-ные, во...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aferook
3 / 3 / 0
Регистрация: 31.10.2010
Сообщений: 13
01.11.2010, 10:43     Найти все трёхзначные числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int cube(int a){
    return a*a*a;
}
 
int chislo(int c1,int c2,int c3){
    return c1*100+c2*10+c3;
}
 
int main(int argc, _TCHAR* argv[])
{
    for (int c1=1;c1<9;c1++)
        for (int c2=0;c2<9;c2++)
            for (int c3=0;c3<9;c3++){
                if (cube(c1)+cube(c2)+cube(c3)==chislo(c1,c2,c3)){
                    printf("Found %d%d%d\n",c1,c2,c3);
                }
            }
    return 0;
}
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
01.11.2010, 10:48  [ТС]     Найти все трёхзначные числа #3
Цитата Сообщение от aferook Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int cube(int a){
    return a*a*a;
}
 
int chislo(int c1,int c2,int c3){
    return c1*100+c2*10+c3;
}
 
int main(int argc, _TCHAR* argv[])
{
    for (int c1=1;c1<9;c1++)
        for (int c2=0;c2<9;c2++)
            for (int c3=0;c3<9;c3++){
                if (cube(c1)+cube(c2)+cube(c3)==chislo(c1,c2,c3)){
                    printf("Found %d%d%d\n",c1,c2,c3);
                }
            }
    return 0;
}
Большое спасибо. Можно немного по проще код чтобы я мог разобраться...
aferook
3 / 3 / 0
Регистрация: 31.10.2010
Сообщений: 13
01.11.2010, 10:56     Найти все трёхзначные числа #4
Так лучше?

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
//Функция считает куб числа
int cube(int a){
        return a*a*a;
}
 
//Функция  по трем ЦИФРАМ возвращает ЧИСЛО (например 3 цифры 1, 2, 5 - значит число будет 125)
int chislo(int c1,int c2,int c3){
        return c1*100+c2*10+c3;
}
 
 
int main(int argc, _TCHAR* argv[])
{
//3 вложенных цикла для перебора всех трехзначных цифр (кроме начинающихся с нуля, они не трехзначные
        for (int c1=1;c1<9;c1++)
                for (int c2=0;c2<9;c2++)
                        for (int c3=0;c3<9;c3++){
//Если сумма кубов цифр равна числу из этих цифр, то:
                                if (cube(c1)+cube(c2)+cube(c3)==chislo(c1,c2,c3)){
//Печатаем это число
                                        printf("Found %d%d%d\n",c1,c2,c3);
                                }
                        }
        return 0;
}
Dzhej-Dzhej
Заблокирован
01.11.2010, 11:00     Найти все трёхзначные числа #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <conio.h>
#include <iostream>
using namespace std;
void main()
{
    for(int i=1;i<10;i++)
        for(int j=0;j<10;j++)
            for(int k=0;k<10;k++)
                if(i*i*i + j*j*j + k*k*k == i*100 + j*10 + k)
                    cout<< i*100 + j*10 + k <<endl;
    getch ();
}
так проще?
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
01.11.2010, 11:20     Найти все трёхзначные числа #6
еще вариант
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
36
#include <iostream>
#include <sstream>
 
std::string toString(int val){
    std::ostringstream oss;
    oss << val;
    return oss.str();
}
 
int SumCube3(int number){
      int s=0;
      int ost = 0;
      int x=number;
      while (x!=0)
      {
          ost = x % 10;
          s += ost*ost*ost;
          x /= 10;
      }
      return s;
}
 
 
int main()
{
    const int value = 3;
    for (int i = 1; i < 10000; ++i){
        if (toString(i).size() == value){
            if (SumCube3(i) == i)
            std::cout << i << std::endl;
        }
    }
 
 
    return 0;
}
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
01.11.2010, 11:36     Найти все трёхзначные числа #7
Все гораздо проще:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main()
{
    int i, n1, n2, n3;
 
    for (i = 100; i < 1000; ++i)
    {
        n1 = i % 10;
        n2 = (i / 10) % 10;
        n3 = i / 100;
 
        if ((n1 * n1 * n1) + (n2 * n2 * n2) + (n3 * n3 * n3) == i)
            printf("%d = %d^3 + %d^3 + %d^3\n", i, n3, n2, n1);
    }
 
    return 0;
}
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
01.11.2010, 13:24  [ТС]     Найти все трёхзначные числа #8
Цитата Сообщение от KpeHDeJIb Посмотреть сообщение
Все гораздо проще:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main()
{
    int i, n1, n2, n3;
 
    for (i = 100; i < 1000; ++i)
    {
        n1 = i % 10;
        n2 = (i / 10) % 10;
        n3 = i / 100;
 
        if ((n1 * n1 * n1) + (n2 * n2 * n2) + (n3 * n3 * n3) == i)
            printf("%d = %d^3 + %d^3 + %d^3\n", i, n3, n2, n1);
    }
 
    return 0;
}
Прям в тему
Большое спасибо всем кто помогал
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2010, 13:58     Найти все трёхзначные числа
Еще ссылки по теме:

Даны числа a и b. Необходимо найти все числа, являющиеся полными квадратами, на отрезке [a;b] - C++
Даны числа a и b. Необходимо найти все числа, являющиеся полными квадратами, на отрезке . Формат входных данных Вводится два...

Найти все натуральные числа, не превосходящие заданного числа - C++
Решите пожалуйста задачку: Найти все натуральные числа,не превосходящие заданного числа N,десятичное представление которых строго...

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

Найти все числа меньшие числа Мерсенна - C++
Дано натуральное число n. Найти все числа меньшие Мр числа Мерсенна. Число Мерсенна – это простое число, представленное в виде Mp=2p–1, ...

Два двузначных числа, записанных подряд, образуют четырехзначное число, которое нацело делится на их произведение. Найти все такие числа - C++
Товарищи катятки, запоролся на простой задаче: Два двузначных числа, записанных подряд, образуют четырехзначное число, которое нацело...


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

Или воспользуйтесь поиском по форуму:
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 658
01.11.2010, 13:58     Найти все трёхзначные числа #9
Всем спасибо за ответ супер!!!!!
Yandex
Объявления
01.11.2010, 13:58     Найти все трёхзначные числа
Ответ Создать тему
Опции темы

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