Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 1
Регистрация: 18.02.2012
Сообщений: 128
1

Найти все натуральные числа от 1 до n, суммы квадратов цифр которых равна самому числу

10.11.2012, 18:18. Показов 3298. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Найти все натуральные числа от 1 до n, сумма квадратов цифр которых равна самому числу
Помогите пожалуйста,или проверьте)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int sum(int c);
{int s=0;
while c>=1 do
s=s+sqr(c fmod 10);
c=c fdiv 10;
return s}
int main();
{int i,n;
cout<<"n";
cin>>n;
for (i=1;i<n;i++)
if (sum(i)=i)
cout<<i<<" "<<endl;
system("pause");
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2012, 18:18
Ответы с готовыми решениями:

Найти все натуральные числа в промежутке от A до B, сумма цифр которых, возведенная в n-ую степень, равна самому числу
Найти все натуральные числа в промежутке от A до B, сумма цифр, которых возвышенная в n-й степени,...

Процедуры и функции: Найти все натуральные числа,от 1 до n, сумма квадратов цифр которых равна самому числу
Найти все натуральные числа,от 1 до n, сумма квадратов цифр которых равна самому числу

Найти все натуральные числа, сумма цифр каждого из которых в некоторой степени равна самому числу
4.Найдите все натуральные числа, не превосходящие 10000, сумма цифр каждого из которых в некоторой...

Найти натуральные числа сумма цифр каждого из которых в некоторой степени равна самому числу
Доброго времени суток! Необходима помощь со следующей задачей: Найдите все натуральные числа, не...

23
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
10.11.2012, 18:52 2
Вы уверены, что задание звучит именно так? Единственное число которое соответствует этому условию 1.
0
0 / 0 / 1
Регистрация: 18.02.2012
Сообщений: 128
10.11.2012, 19:00  [ТС] 3
Задание звучит именно так
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
10.11.2012, 19:07 4
Может я неправильно понял. Надо разделить число на цифры, каждую цифру возвести в квадрат и сложить эти квадраты.И вот эту сумму сравнивать с исходным числом. Так?
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
10.11.2012, 19:08 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
int Sum(int x)
{
     return x>0 ? Sum(x/10)+(x%10) : 0;
}
int main()
{
    int n;
    std::cin>>n;
    for (int i=1; i<=n; i++)
          if(pow(Sum(i),2)==n)
               std::cout<<i<<std::endl;
 return 0;
}
Это с квадратом суммы цифр, на всякий случай)
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
10.11.2012, 19:13 6
BumerangSP не
Цитата Сообщение от BumerangSP Посмотреть сообщение
int Sum(int x)
а, double Sum(int x)
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
10.11.2012, 19:16 7
David Sylva, м, почему? Мы же просто сумму цифр выводим.

Добавлено через 42 секунды
Вот, вариант как в задании:
C++
1
2
3
4
double Sum(int x)
{
     return x>0 ? Sum(x/10)+pow((x%10),2) : 0;
}
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
10.11.2012, 19:19 8
функция pow в качестве аргумента должна принимать тип double, а у тебя в коде функция возвращает int.
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
10.11.2012, 19:27 9
David Sylva, в цикле-то? Думаю, ничего страшного, т.к. работаем мы с int, неявное преобразование все исправит.
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
10.11.2012, 19:28 10
у меня твоя программа выдаёт ошибку.
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
10.11.2012, 19:30 11
David Sylva, какую, округления или что? Пример можно.
0
Обитатель форума
201 / 184 / 54
Регистрация: 28.10.2012
Сообщений: 543
10.11.2012, 19:33 12
ф-ция pow принимает аргументы с типом (float, float), (float, int), (double, double), (long double, int), (long double, long double)
0
David Sylva
10.11.2012, 19:45
  #13

Не по теме:

BumerangSP проехали

0
BumerangSP
10.11.2012, 19:52
  #14

Не по теме:

David Sylva, нет, ну, если ошибка, то надо ведь исправить, а то ТС в заблуждение введем.

0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
10.11.2012, 19:55 15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
int Sum(int x) // вот тут надо не int Sum(int x) а double Sum(int x)
{
     return x>0 ? Sum(x/10)+(x%10) : 0;
}
int main()
{
    int n;
    std::cin>>n;
    for (int i=1; i<=n; i++)
          if(pow(Sum(i),2)==n)
               std::cout<<i<<std::endl;
 return 0;
}
смотри комментарии
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
10.11.2012, 19:57 16
David Sylva, это понятно)) Пример конкретный с ошибкой есть?
0
Обитатель форума
201 / 184 / 54
Регистрация: 28.10.2012
Сообщений: 543
10.11.2012, 20:00 17
Цитата Сообщение от David Sylva Посмотреть сообщение
(pow(Sum(i),2))
Sum - это целочисленная ф-ция, ф-ция pow ее не принимает - выдаст ошибку. Как вариант - pow(double(Sum([i]), 2)), но это влечет потерю данных.
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
10.11.2012, 20:01 18
Какой пример? Ты в пятом посте выложил, вот этот код с ошибкой. Я проверил у себя и решил тебе указать на небольшую не точность в твоём коде. Вот и всё.
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
10.11.2012, 21:07 19
Цитата Сообщение от David Sylva Посмотреть сообщение
у меня твоя программа выдаёт ошибку.
Вот я и спрашиваю про это. Неточность и ошибка - разные вещи.

Добавлено через 3 минуты
Afflicted, ошибку не выдаст.
http://liveworkspace.org/code/... a873cfc509
0
Обитатель форума
201 / 184 / 54
Регистрация: 28.10.2012
Сообщений: 543
10.11.2012, 21:18 20
BumerangSP
[img]http://s42.***********/i097/1211/39/eb06d4df3e28.jpg[/img]
0
10.11.2012, 21:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2012, 21:18
Помогаю со студенческими работами здесь

Найти все трёхзначные натуральные числа, сумма цифр которых равна заданному числу N
Помогите, пожалуйста, решить задачу...Третий час бьюсь. Вот более полный текст: Вот код,...

Найти все трехзначные числа, сумма квадратов цифр которых равна заданному числу N
Условие задачи звучит так: Найти все трехзначные числа, сумма квадратов цифр которых равна...

Найти все натуральные числа, у которых сумма цифр, стоящих в нечетных разрядах равна заданному числу
Найти все N-значные натуральные числа (1&lt;N&lt;9), у которых сумма цифр, стоящих в нечетных разрядах...

Найдите все натуральные числа, не превышающие 10000, сумма цифр каждого из которых равен самому числу
Помогите написать програму на Пайтоне ...

Вывести все трехзначные натуральные числа, сумма цифр которых равна введенному числу N
Вводится некоторое натуральное число N. Вывести все трехзначные натуральные числа, сумма цифр...

Получить все трехзначные натуральные числа, сумма цифр которых равна заданному числу
очень срочно. нужна программа для вот этой задачи, если нетрудно, то с комментариями Дано...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru