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

Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
SKripon
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 10
19.12.2012, 04:43     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m #1
помогите решить задачку. Даны числа m и n. Получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m .(m и n вводятся с клавиатуры) Необходимо написать через функцию.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2012, 04:43     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m
Посмотрите здесь:

Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m C++
C++ Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m
C++ Массив: Получить все меньшие n натуральные числа, квадрат суммы цифр которых равна m.
C++ Даны числа m и n. Получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m
Составить программу подсчета числа всех натуральных чисел, меньших M, квадрат суммы цифр которых равен X. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Salty_Sugar
 Аватар для Salty_Sugar
26 / 26 / 1
Регистрация: 02.04.2012
Сообщений: 140
19.12.2012, 09:53     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m #2
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
void quad(int n, int m)
{
int buff, mass[100], sum = 0;
int k = 0;
for( int i = 0; i < n; i++ )
{
 buff = pow(n,2);
 while( buff > 0 )
 {
   mass[i] = buff % 10;
   buff = buff / 10;
   k++;
  }
 for( int j = 0; j < k; j++ ) sum = mass[j] + sum;
 if( sum == m ) cout << n;
}
 
void main()
{
int n,m;
 
cin >> n >> m;
 
quad(n,m);
}
SKripon
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 10
19.12.2012, 17:03  [ТС]     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m #3
спасибо

Добавлено через 11 минут
Salty_Sugar, ошибка, пишет "неоднозначный вызов перегруженной функции"
Salty_Sugar
 Аватар для Salty_Sugar
26 / 26 / 1
Регистрация: 02.04.2012
Сообщений: 140
19.12.2012, 17:06     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m #4
Цитата Сообщение от SKripon Посмотреть сообщение
спасибо

Добавлено через 11 минут
Salty_Sugar, ошибка, пишет "неоднозначный вызов перегруженной функции"
Завтра исправлю. Ок? Ты мне условие поподробней только напиши...
SKripon
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 10
19.12.2012, 20:07  [ТС]     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m #5
Salty_Sugar, да я сам толком условие не понял, но думаю нужно получить числа, которые меньше n но их сумма в квадрате равнялась m. Как то так

Добавлено через 1 минуту
если подумать то написал то же условие задачи толком ничего не объяснив ))

Добавлено через 1 час 44 минуты
Salty_Sugar, да и еще один вопрос. Что такое quad? квадрат n и m ?
Salty_Sugar
 Аватар для Salty_Sugar
26 / 26 / 1
Регистрация: 02.04.2012
Сообщений: 140
20.12.2012, 05:04     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m #6
Я понимаю условие так: даны m и n, нужно возвести числа меньше в n в квадрат и, если сумма цифр полученного числа равна m, то вывести его.
Пример:
m = 9; n = 12;
Ответ: 3, 6, 9;
3^2 = 9 ( 9; m = 9 )
6^2 = 36 ( 3+6 = 9; m = 9)
9^2 = 18 ( 1+8 = 9; m = 9 )


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 <iostream>
#include <math.h>
 
using namespace std;
 
void main()
{
    float n,m;
    int buff, mass[100] = {0}, sum = 0;
    int k = 0;
    int t = 0;
    float i = 0;
 
    cin >> m >> n;
    
    for( i = 0; i < n; i++)
    {
        buff = pow(i,2);
         while( buff > 0 )
         {
          {mass[t] = buff % 10; t++;}
           buff = buff / 10;
           k++;
         }
 
     for( int j = 0; j < k; j++ ) sum = mass[j] + sum;
     if( sum == m ) 
         {
             cout << i;
             cout << endl;
         }
     for( int i = 0; i < 100; i++ ) mass[i] = 0;
     t = 0; k = 0; sum = 0;
    }
}
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
20.12.2012, 06:22     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m #7
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
#include <iostream>
 
using namespace std;
 
int sum(size_t x)  //функция разбивает число на цифры
{
int a[10];
int b,i=-1;
int sum=0;
 
while (x) 
{
 b=x%10; //получаем очередную цифру числа, начиная с последней
 i++; //увеличиваем на 1 индекс элемента массива
 a[i]=b; //записываем очередную цифру числа в массив
 x=(x / 10); //убираем из переменной "a" один разряд
}
 
  b=i; //определяем сколько непустых элементов в массиве "a"
for (i=0;i<=b;i++) sum+=a[i]; //сумма цифр числа
return sum*sum;
}
 
int main()
{
    size_t x=0;
    size_t n;
    
        cin>>x>>n; //x - это число, разбиваемое на цифы
    
    for (size_t i=0;i<n;i++) if (sum(i)==x) cout<<i<<"\t"<<x<<"\n";
 
    return 0;
}
После запуска вводишь два числа.
1 = Квадрат любого числа
2 = Максимальное N больше которого значения выводить не нужно
================
Например:
15*15 = 225 (ввел в программу)
Искать до 1000 (ввел в программу)
дальше программа покажет нужные числа
===============
Например вводишь
225
1000
//искать числа не превышающие 1000
//на выходе множество значений
69 225 ==> (6+9 = 15) (15*15=225)
78 225 ==> (7+8 = 15) (15*15=225)
и так далее
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 07:37     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m #8
Цитата Сообщение от Salty_Sugar Посмотреть сообщение
buff = pow(i,2);
Неоднозначный вызов это скорее всего вот это.

поправьте на:
C++
1
buff = pow(i, 2.0);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2012, 22:19     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m
Еще ссылки по теме:

C++ Проверить, квадрат заданного трехзначного числа равен кубу суммы цифр этого числа
Найти все натуральные числа, меньшие n, квадрат суммы цифр которых равен m C++
C++ Квадрат заданного трехзначного числа равен кубу суммы цифр этого числа

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

Или воспользуйтесь поиском по форуму:
SKripon
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 10
20.12.2012, 22:19  [ТС]     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m #9
daslex, спасибо большое
Yandex
Объявления
20.12.2012, 22:19     Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m
Ответ Создать тему
Опции темы

Текущее время: 15:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru