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

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

Войти
Регистрация
Восстановить пароль
 
 
Trane Pitrovich
1 / 1 / 0
Регистрация: 03.09.2013
Сообщений: 16
#1

как записать числа n и k в виде составного числа nk - C++

05.09.2013, 23:54. Просмотров 930. Ответов 26
Метки нет (Все метки)

как записать числа n и k в виде составного числа nk
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2013, 23:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как записать числа n и k в виде составного числа nk (C++):

Как массив цифр записать в виде одного числа? - C++
Как массив цифр записать в виде одного числа? Например: есть массив а=2,a=4,a=5,a=9, а нужно записать просто одним числом 2459.

Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив - C++
Нужна помощь! Срочно! Нужно ввести в программу строку (числа, латиница), считать только числа, записать числа в массив. Помогите,...

Записать в файл все числа от нуля до 2^16 в hex-виде - C++
Здравствуйте, как записать все комбинации 2^16 (в hex-виде) в блокнот ?

Найти все натуральные числа, не превосходящие числа n, которые можно представить в виде суммы слагаемых - C++
Заданы три натуральных числа a, b, n. Найти все натуральные числа, не превосходящие числа n, которые можно представить в виде суммы (...

Из одного файла считать целые числа, в другие файлы записать четные и нечетные числа - C++
Нужно с одного файла считать целые числа и в другие файлы записать четные и нечетные числа. Вот код, но почему-то не работает...и как...

Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел? - C++
Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел?

26
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,072
06.09.2013, 00:00 #2
Цитата Сообщение от Trane Pitrovich Посмотреть сообщение
как записать числа n и k в виде составного числа nk
в смысле?
вывести на экран?
C++
1
printf("%d%d",n,k);
или сосчитать если n и k от 0 до 10
то n*10+k
если нет то умножай n на разрядность k и прибавляй k
0
Trane Pitrovich
1 / 1 / 0
Регистрация: 03.09.2013
Сообщений: 16
06.09.2013, 00:04  [ТС] #3
допустим есть 2 числа n=32 и k=48 в итоге должно получится 3248

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
в смысле?
вывести на экран?
C++
1
printf("%d%d",n,k);
или сосчитать если n и k от 0 до 10
то n*10+k
если нет то умножай n на разрядность k и прибавляй k

допустим есть 2 числа n=32 и k=48 в итоге должно получится 3248
0
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,072
06.09.2013, 00:07 #4
Цитата Сообщение от Trane Pitrovich Посмотреть сообщение
в итоге должно получится 3248
где получится? на экране? в другой переменной?
0
Trane Pitrovich
1 / 1 / 0
Регистрация: 03.09.2013
Сообщений: 16
06.09.2013, 00:08  [ТС] #5
Цитата Сообщение от ValeryS Посмотреть сообщение
где получится? на экране? в другой переменной?
в другой переменной
0
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,072
06.09.2013, 00:11 #6
Цитата Сообщение от Trane Pitrovich Посмотреть сообщение
в другой переменной
Цитата Сообщение от ValeryS Посмотреть сообщение
если нет то умножай n на разрядность k и прибавляй k
k у тебя 2 десятичных разряда т.е 100(10^2)
32*100+48=3248
это даже не программирование, а школьная математика
0
Trane Pitrovich
1 / 1 / 0
Регистрация: 03.09.2013
Сообщений: 16
06.09.2013, 00:13  [ТС] #7
Цитата Сообщение от ValeryS Посмотреть сообщение
k у тебя 2 десятичных разряда т.е 100(10^2)
32*100+48=3248
это даже не программирование, а школьная математика
ну эт понятно,как это в программном коде реализовать?
0
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,072
06.09.2013, 00:18 #8
Цитата Сообщение от Trane Pitrovich Посмотреть сообщение
ну эт понятно,как это в программном коде реализовать?
так и реализовать
C++
1
int c=32*100+48;
1
Байт
Эксперт C
16327 / 10603 / 1587
Регистрация: 24.12.2010
Сообщений: 20,217
06.09.2013, 11:37 #9
Объединяем все вышесказанное
C++
1
2
3
4
5
int f(int n, int k)
{  char b[20];
  sprintf(b, "%d%d", n, k);
  return atoi(b);
}
0
Петррр
5965 / 3402 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
06.09.2013, 15:16 #10
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
#include <stdio.h>
#include <stdlib.h>
 
int merge(int n, int k)
{
    if (k < 0)
    {
        n = -n;
        k = -k;
    }
    if (!k)
        return n;
    if (k > 10)
    {
        n = merge(n, k / 10);
    }
    return n * 10 + (k % 10);
}
 
int main(void)
{
    printf("%d\n", merge(23, 45));
    return 0;
}
0
reisal78
667 / 580 / 137
Регистрация: 28.04.2013
Сообщений: 1,654
06.09.2013, 15:34 #11
А если так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <sstream> // нужен для stringstream
 
 
using namespace std;
 
 
int main()
{setlocale (LC_ALL,"");
 
    int n = 32;
    int k = 48;
 
    stringstream tmp;
    tmp << n << k;
 
    int rez;
    tmp >> rez;
 
    cout << rez;
return 0;
}
Даже попроще сделал =)
0
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,072
06.09.2013, 16:22 #12
Цитата Сообщение от Байт Посмотреть сообщение
Объединяем все вышесказанное
а нахрена козе боян?
вот так это делается
C++
1
2
3
4
5
6
7
int tmp=k;
while(tmp)
{
 n*=10;
tmp/=10;
}
int c=n+k;
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,065
Завершенные тесты: 1
06.09.2013, 17:16 #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int digits(int x)  
{  
    return (x < 10 ? 1 :   
        (x < 100 ? 2 :   
        (x < 1000 ? 3 :   
        (x < 10000 ? 4 :   
        (x < 100000 ? 5 :   
        (x < 1000000 ? 6 :   
        (x < 10000000 ? 7 :  
        (x < 100000000 ? 8 :  
        (x < 1000000000 ? 9 :  
        10)))))))));  
}
int n,k;
n*=10*digits(k);
int s = n + k;
чтобы быстрее работало)
0
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,072
06.09.2013, 17:51 #14
Цитата Сообщение от Raali Посмотреть сообщение
чтобы быстрее работало)
очень быстро
сколько у тебя ветвлений, посчитай
а если будет 15значное число, дальше лесенку будешь строить?
Цитата Сообщение от Raali Посмотреть сообщение
10*digits(k);
и ты уверен что если 10*2 будет 100?
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,065
Завершенные тесты: 1
06.09.2013, 18:12 #15
Цитата Сообщение от ValeryS Посмотреть сообщение
и ты уверен что если 10*2 будет 100?
почему то был уверен)
Цитата Сообщение от ValeryS Посмотреть сообщение
а если будет 15значное число, дальше лесенку будешь строить?
рассчитывал для максимального значения int, которое составляет 10 знаков

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
сколько у тебя ветвлений, посчитай
за то нет медленного деления
0
06.09.2013, 18:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2013, 18:12
Привет! Вот еще темы с ответами:

Как записать числа в массив? - C++
Как вставить единицу и 0 в массив,а потом перевернуть числа справа - налево ? ( перевод в двоичную систему) int n; cin&gt;&gt;n; while...

Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми - C++
Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми. ...

Как записать логарифм числа X по основанию 4 - C++
как записать в c++ log числа X по основанию 4

разделить числа, и записать их как массив - C++
Добрый вечер! Подскажите пожалуйста, как можно, имея, например, файл с последовательностью чисел 2 7 4 3, разделить числа, и записать их...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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