Example 1: [Example 2 is much faster, don't say I didn't warn you!]
a = 9
b = 8
def concat[a, b]:
return eval[f"{a}{b}"]
Example:
>>> concat[a, b]
98
Example 2:
For people who think eval
is 'evil', here's another way to do it:
a = 6
b = 7
def concat[a, b]:
return int[f"{a}{b}"]
Example:
>>> concat[a, b]
67
EDIT:
I thought it would be convienient to time these codes, look below:
>>> min[timeit.repeat["for x in range[100]: int[str[a] + str[b]]", "",
number=100000, globals = {'a': 10, 'b': 20}]]
9.107237317533617
>>> min[timeit.repeat["for x in range[100]: int[f'{a}{b}']", "",
number=100000, globals = {'a': 10, 'b': 20}]]
6.4986298607643675
>>> min[timeit.repeat["for x in range[5]: eval[f'{a}{b}']", "", #notice the range[5] instead of the range[100]
number=100000, globals = {'a': 10, 'b': 20}]]
4.089137231865948 #x20
The times:
eval: about 1 minute and 21 seconds.
original answer: about 9 seconds.
my answer: about 6 and a half seconds.
Conclusion:
The original answer does look more readable, but if you need a good speed, choose int[f'{vara}{varb}']
P.S: My int[f'{a}{b}] syntax only works on python 3.6+, as the f'' syntax is undefined at python versions 3.6-
View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
Given two integers a and b. The task is to concatenate these two integers into one integer.
Examples:
Input : a = 806, b = 91 Output : 80691 Input : a = 5, b = 1091 Output : 51091
Method 1: One method of achieving this can be counting the number of digits of second number. Then multiply the first number with 10^digits and adding both the numbers. Below is the implementation.
def
numConcat[num1, num2]:
digits
=
len
[
str
[num2]]
num1
=
num1
*
[
10
*
*
digits]
num1
+
=
num2
return
num1
a
=
906
b
=
91
print
[numConcat[a, b]]
Method 2: Another method can be converting both the numbers to the string. Then concatenate them and convert them back to integers. Below is the implementation.
def
numConcat[num1, num2]:
num1
=
str
[num1]
num2
=
str
[num2]
num1
+
=
num2
return
int
[num1]
a
=
906
b
=
91
print
[numConcat[a, b]]
Output:
90691
View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
Given two integers n1 and n2, the task is to concatenate these two integers into one integer.
Example:
Input: n1 = 12, n2 = 34 Output: 1234 Input: n1 = 1, n2 = 93 Output: 193
Approach: The simplest approach to do this is:
- Convert both numbers to string
- Concatenate both strings into one, as this is comparatively easy
- Convert this concatenated string back to integer
Program:
C++
#include
#include
using
namespace
std;
int
concat[
int
a,
int
b]
{
string s1 = to_string[a];
string s2 = to_string[b];
string s = s1 + s2;
int
c = stoi[s];
return
c;
}
int
main[]
{
int
a = 23;
int
b = 43;
cout