aboutsummaryrefslogtreecommitdiff
path: root/works/solutions/cpp/7.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-07-15 17:01:16 +0800
committercrupest <crupest@outlook.com>2020-07-15 17:01:16 +0800
commitbe7e712cd8605f045fabba10c53dbb46c186ec58 (patch)
treeace42447fd3addf822be7daf3c328d8263fe44bb /works/solutions/cpp/7.cpp
parent357142db7dddeba12d95ade496abf0e9732bfc1d (diff)
downloadcrupest-be7e712cd8605f045fabba10c53dbb46c186ec58.tar.gz
crupest-be7e712cd8605f045fabba10c53dbb46c186ec58.tar.bz2
crupest-be7e712cd8605f045fabba10c53dbb46c186ec58.zip
import(solutions): Add problem 7 .
Diffstat (limited to 'works/solutions/cpp/7.cpp')
-rw-r--r--works/solutions/cpp/7.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/works/solutions/cpp/7.cpp b/works/solutions/cpp/7.cpp
new file mode 100644
index 0000000..a1a05c1
--- /dev/null
+++ b/works/solutions/cpp/7.cpp
@@ -0,0 +1,18 @@
+class Solution
+{
+public:
+ int reverse(int x)
+ {
+ int result = 0;
+ while (x != 0)
+ {
+ int digit = x % 10;
+ x /= 10;
+ if (__builtin_smul_overflow(result, 10, &result))
+ return 0;
+ if (__builtin_sadd_overflow(result, digit, &result))
+ return 0;
+ }
+ return result;
+ }
+};