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

Определить суму цифр заданного числа без использования операций целочисленного деления - C++

Восстановить пароль Регистрация
 
 
midda
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
03.03.2013, 18:59     Определить суму цифр заданного числа без использования операций целочисленного деления #1
Дано натуральное число n. Определить суму цифр заданного числа без использования
операций целочисленного деления, а при помощи вложенных циклов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 18:59     Определить суму цифр заданного числа без использования операций целочисленного деления
Посмотрите здесь:

C++ Определить, есть ли среди цифр заданного целого трехзначного числа одинаковые.
Pascal -> С++ (определить вторую цифру дробной части частного от деления суммы первой и третьей цифр трехзначного числа на вторую цифру этого числа) C++
Определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа VS2010 C++
C++ Дано натуральные числа n и m. Определить суму m последних цифр числа n.
C++ Вложенные циклы. Определить суму цифр заданного числа без использования операций целочисленного деления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 19:05     Определить суму цифр заданного числа без использования операций целочисленного деления #2
это типа
C++
1
2
3
4
5
int summ = 0;
int j = n;
for (i = 1000000000000; i > 1; i/=10)
     for (; j > i; j -=i)
         summ++;
да?
midda
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
03.03.2013, 19:12  [ТС]     Определить суму цифр заданного числа без использования операций целочисленного деления #3
без использования целочисленного деления
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 19:18     Определить суму цифр заданного числа без использования операций целочисленного деления #4
C++
1
2
3
4
5
int summ = 0;
int j = n;
for (int i = 1000000000000; i > 1; i = (int) (i * 0.1))
     for (; j > i; j -=i)
         summ++;
Лучше?
midda
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
03.03.2013, 19:21  [ТС]     Определить суму цифр заданного числа без использования операций целочисленного деления #5
нет, она не правильно работает
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 19:32     Определить суму цифр заданного числа без использования операций целочисленного деления #6
C++
1
2
3
4
5
    int summ = 0;
    int j = n;
    for (int i = 100000000; i >= 1; i = (int) (i * 0.1))
        for (; j >= i; j -=i)
            summ++;
midda
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
03.03.2013, 19:34  [ТС]     Определить суму цифр заданного числа без использования операций целочисленного деления #7
эта тоже(
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 19:57     Определить суму цифр заданного числа без использования операций целочисленного деления #8
проверил в студии 2010. работает идеально для чисел в приделах int, те не больше 9 символов
midda
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
03.03.2013, 19:59  [ТС]     Определить суму цифр заданного числа без использования операций целочисленного деления #9
это может быть из=за того что я в борланде проверял?
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 20:11     Определить суму цифр заданного числа без использования операций целочисленного деления #10
возможно, тест покажи. ввод-вывод
midda
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
03.03.2013, 20:35  [ТС]     Определить суму цифр заданного числа без использования операций целочисленного деления #11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
  int n;
  printf("n=");
  scanf("%i",&n);
  int summ = 0;
    int j = n;
    for (int i = 100000000; i >= 1; i = (int) (i * 0.1))
        for (; j >= i; j -=i)
            summ++;
printf("s=%i",summ);
  return 0;
}
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 20:42     Определить суму цифр заданного числа без использования операций целочисленного деления #12
нет, тесты - что ты вводишь и что выводит программа
midda
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
03.03.2013, 20:44  [ТС]     Определить суму цифр заданного числа без использования операций целочисленного деления #13
n=12345
s=0

n=22222
s=0
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 20:46     Определить суму цифр заданного числа без использования операций целочисленного деления #14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
  int n;
  printf("n=");
  scanf("%i",&n);
  int summ = 0;
    int j = n;
    for (int i = 100000000; i >= 1; i = int (i * 0.1)){
      printf("i=%d\n",i);
        for (; j >= i; j -=i)
            summ++;
}
printf("s=%i",summ);
  return 0;
}
midda
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
03.03.2013, 21:12  [ТС]     Определить суму цифр заданного числа без использования операций целочисленного деления #15
(11,17) Constant is long
(11,28) Conversion may lose significant digits
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 21:25     Определить суму цифр заданного числа без использования операций целочисленного деления #16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
  int n;
  printf("n=");
  scanf("%i",&n);
  int summ = 0;
    int j = n;
    for (int i = 100000000; i >= 1; i = int (i * 0.1)){
      printf("i=%ld\n",i);
        for (; j >= i; j -=i)
            summ++;
}
printf("s=%i",summ);
  return 0;
}
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
03.03.2013, 21:27     Определить суму цифр заданного числа без использования операций целочисленного деления #17
Цитата Сообщение от midda Посмотреть сообщение
без использования
операций целочисленного деления
Ну, извращаться так извращаться
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 <boost/regex.hpp>
#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/home/qi.hpp>
#include <boost/spirit/include/phoenix_core.hpp>
#include <boost/spirit/include/phoenix_operator.hpp>
 
namespace qi = boost::spirit::qi;
namespace ascii = boost::spirit::ascii;
namespace phoenix = boost::phoenix;
    
template <typename Iterator>
bool adder(Iterator first, Iterator last, int& n)
{
  using phoenix::ref;
  using qi::_1;
  using qi::int_;
  
  return qi::phrase_parse(first, last, int_[ref(n) = _1] >> *('+' >> int_[ref(n) += _1]), qi::space);
}
 
int main()
{
   for (std::string str; std::cin >> str; )
   {
      if (str[0] == '-')
         str.erase(str.begin());
         
      str = boost::regex_replace(str, boost::regex("\\d(?=\\d)"), "$0+", boost::match_default | boost::format_all);
      
      int res;
      adder(str.begin(), str.end(), res);
      
      std::cout << res << std::endl;
   }
}
Результат: http://liveworkspace.org/code/3E4eqx
icpu
 Аватар для icpu
276 / 181 / 36
Регистрация: 10.03.2011
Сообщений: 863
Записей в блоге: 2
03.03.2013, 21:29     Определить суму цифр заданного числа без использования операций целочисленного деления #18
diagon, борланд.
midda
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
03.03.2013, 21:39  [ТС]     Определить суму цифр заданного числа без использования операций целочисленного деления #19
это капец) это слишком сложное решение простой задачи..)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2013, 23:20     Определить суму цифр заданного числа без использования операций целочисленного деления
Еще ссылки по теме:

11. Определить, есть ли среди цифр заданного целого трехзначного числа одинаковые C++
C++ Определить, есть ли среди цифр заданного целого трехзначного числа одинаковые
Определить, есть ли среди цифр заданного числа одинаковые C++

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

Или воспользуйтесь поиском по форуму:
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 438
03.03.2013, 23:20     Определить суму цифр заданного числа без использования операций целочисленного деления #20
Цитата Сообщение от midda Посмотреть сообщение
это капец) это слишком сложное решение простой задачи..)
Переводи число в строку через sprintf, и уже пробегая по строке складывай цифры.
Yandex
Объявления
03.03.2013, 23:20     Определить суму цифр заданного числа без использования операций целочисленного деления
Ответ Создать тему
Опции темы

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