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

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

Войти
Регистрация
Восстановить пароль
 
Parilo
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
#1

Найти сумму квадратов цифр введённого числа - C++

16.10.2012, 21:29. Просмотров 684. Ответов 2
Метки нет (Все метки)

Мне нужно найти сумму квадратов цифр введённого числа.
Допустим ввожу 63, компьютер должен выдавать результат 45, то есть 6*6+3*3.
Составил следующий код, но не знаю где ошибку, компилятор выдаёт при вводе числа 63 результат 15.
Похоже что 3 он перемножает, а 6 просто прибавляет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 #include <iostream>
#include <cmath>
using namespace std;
int main ()
{ int n, i=0, sqr=0;
 cin >> n;
 while (n>0)
 {sqr=sqr+(n%10*n%10);
 n=n/10; i++;
 
 }
  cout << sqr;
 
 
 
 return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2012, 21:29     Найти сумму квадратов цифр введённого числа
Посмотрите здесь:

C++ Сумма цифр введённого числа
C++ Найти все натуральные числа от 1 до n, суммы квадратов цифр которых равна самому числу
Найти все двузначные числа, сумма квадратов цифр которых делится на 17 C++
Найти трехзначные числа, сумма квадратов этих цифр равняется самому числу. C++
Найти все двузначные числа, сумма квадратов цифр которых кратна M C++
Найти сумму квадратов элементов, больших некоторого числа X C++
C++ Вывод цифр введённого числа в прямом порядке
C++ Найти сумму цифр введённого числа
Найти все n-значные числа, сумма квадратов цифр которых кратна М C++
C++ Найти разложение натурального числа на сумму квадратов трёх целых чисел
Найти число, равное сумме квадратов цифр заданного числа, то же самое проделать с полученным числом и т.д. C++
Найти сумму квадратов цифр числа,с полученным числом проделаем аналогичную процедуру .Конечный результат 1||4 C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.10.2012, 21:35     Найти сумму квадратов цифр введённого числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 #include <cmath>
 using namespace std;
 int main ()
 { int n, sqr=0;
 cin >> n;
 while (n>0)
 {sqr=sqr+((n%10)*(n%10));
 n=n/10;
 }
 cout << sqr;
 return 0;}
Thinker
Эксперт C++
 Аватар для Thinker
4218 / 2192 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.10.2012, 21:40     Найти сумму квадратов цифр введённого числа #3
компактно без рекурсии:
C++
1
2
3
4
5
6
7
long Sum(long a)
{
   long sum = (a % 10) * (a % 10);
   while(a /= 10)
      sum += (a % 10) * (a % 10);
   return sum;
}
экономия операций:
C++
1
2
3
4
5
6
7
long Sum(long a)
{
   long sum = (a % 10) * (a % 10), buf;
   while(a /= 10)
      sum += (buf = a % 10) * buf;
   return sum;
}
Банальная рекурсия:
C++
1
2
3
4
long Sum(long a)
{
   return a ? (a % 10) * (a % 10) + Sum(a / 10) : 0;
}
Рекурсия с экономией операций:
C++
1
2
3
4
5
long buf;
long Sum(long a)
{
   return a ? (buf = a % 10) * buf + Sum(a / 10) : 0;
}
Yandex
Объявления
16.10.2012, 21:40     Найти сумму квадратов цифр введённого числа
Ответ Создать тему
Опции темы

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