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

Задача С++ - C++

Восстановить пароль Регистрация
 
Dimon_y
0 / 0 / 0
Регистрация: 23.01.2012
Сообщений: 6
26.01.2012, 12:38     Задача С++ #1
вводится трех значное число. определить равен ли квадрат этого числа сумме кубов его цифр.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FireOwl
 Аватар для FireOwl
62 / 44 / 5
Регистрация: 01.07.2009
Сообщений: 145
26.01.2012, 12:46     Задача С++ #2
C++
1
2
3
4
5
6
7
8
9
int a,b,c,d;
scanf(f,a); // вводится а
b = a*a;
c = 1;
for(d=0;d<3;d++){
   c+=(a%10)*(a%10)*(a%10);
   a/=10;
}
if(b==c){ делать то, что делать надо }
Элементарная задача, кстати.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
26.01.2012, 12:52     Задача С++ #3
Цитата Сообщение от FireOwl Посмотреть сообщение
c = 1;
С чего бы это?

Цитата Сообщение от FireOwl Посмотреть сообщение
Элементарная задача
Действительно.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
26.01.2012, 13:00     Задача С++ #4
C
1
scanf(f,a); // вводится а
О_о
FireOwl
 Аватар для FireOwl
62 / 44 / 5
Регистрация: 01.07.2009
Сообщений: 145
26.01.2012, 13:30     Задача С++ #5
Цитата Сообщение от go Посмотреть сообщение
С чего бы это? .
Извиняюсь. Я сначала прочел "произведение", а не сумма.
Отсюда и единица.

C++
1
scanf(f,"%d",a);
Давно не писал на C++, подзабыл все уже. Но это мелочи, легко поправить.
zelim
77 / 77 / 4
Регистрация: 26.12.2011
Сообщений: 217
26.01.2012, 13:40     Задача С++ #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
#include <iostream>
using namespace std;
 
int main()
{
int a,b,c=0,d, t;
 
cout << "Vvedite chislo: ";
cin >> a;
 
b = a*a;
for(d=0;d<3;d++){
   t = a%10;
   c+=t*t*t;
   a/=10;
}
if(b==c)
   cout << "Raven";
else
   cout << "Ne raven";
 
return 0;
}
FireOwl
 Аватар для FireOwl
62 / 44 / 5
Регистрация: 01.07.2009
Сообщений: 145
26.01.2012, 13:44     Задача С++ #7
Зато сколько радости доставит их отлавливание! Сплошной драйв и адреналин.

P.S. И разминка для мозгов.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
26.01.2012, 13:45     Задача С++ #8
Цитата Сообщение от FireOwl Посмотреть сообщение
Давно не писал на C++, подзабыл все уже. Но это мелочи, легко поправить.
Догда уж std::cin >> a;
А если со сканфом, то
C
1
scanf("%d", &a);
FireOwl
 Аватар для FireOwl
62 / 44 / 5
Регистрация: 01.07.2009
Сообщений: 145
26.01.2012, 13:49     Задача С++ #9
Точно, точно. А откуда, я тогда f взял...
Вспомнил:
C++
1
fscanf(fp,"%d", &a)
В задачках типа этой обычно просят сделать ввод из файла. Вроде бы.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
26.01.2012, 13:55     Задача С++ #10
Цитата Сообщение от Dimon_y Посмотреть сообщение
определить равен ли квадрат этого числа сумме кубов его цифр.
Такие числа будут? Я думаю, что нет. Если вы верите в это, то вот код
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 <iostream>
 
typedef unsigned long long T_long;
 
#define DIG(a) ((a) % 10)
 
size_t sum_dig(T_long num)
{
   size_t sum = 0;
 
   do 
   {
      sum += DIG(num) * DIG(num) * DIG(num);
   }
   while ( num /= 10 );
   
   return sum;
}   
 
int main()
{
   const T_long WRONG = 123;
   std::cout << std::boolalpha << (sum_dig(WRONG) == WRONG * WRONG)  << std::endl;
}
http://liveworkspace.org/code/ade7ae...0e2453dae1f25b

Добавлено через 1 минуту
А вот пример, что я прав.
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
#include <iostream>
 
typedef unsigned long long T_long;
 
#define DIG(a) ((a) % 10)
 
size_t sum_dig(T_long num)
{
   size_t sum = 0;
 
   do 
   {
      sum += DIG(num) * DIG(num) * DIG(num);
   }
   while ( num /= 10 );
   
   return sum;
}   
 
int main()
{
   T_long i;
   
   for ( i = 100 ; i < 1000 && i * i != sum_dig(i) ; ++i );
   
   std::cout << std::boolalpha << !(i == 1000)  << std::endl;
}
http://liveworkspace.org/code/46f69b...2aaf8d69176310
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
26.01.2012, 15:48     Задача С++ #11
нехитрые подсчеты показывают:
максимальная цифра - 9. 999 => 9^3 + 9^3 + 9^3 = 2187
минимальное трехзначное число 100. 100х100 = 10.000
ну?...
Vovanich
Сообщений: n/a
26.01.2012, 19:59     Задача С++ #12
Люди добрые, помогите пожалуйста решить задачу!
задача которая бы выполняла просмотр текущего состояния индикаторов клавиатуры
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
26.01.2012, 22:48     Задача С++ #13
Vovanich, открываешь студию, создаешь пустой проект MFC и не написав ни строчки кода получаешь в нижней панели индикатор клавиш
Vovanich
Сообщений: n/a
30.01.2012, 21:02     Задача С++ #14
понимаете но я вообще тут ничего не понимаю
Yandex
Объявления
30.01.2012, 21:02     Задача С++
Ответ Создать тему
Опции темы

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