Do i need to code a function everytime i wanna get the gcd of two long long variables or there is a easier solution?
# | User | Rating |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 156 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Name |
---|
gcd<int64_t>(x,y)
Thank you, I've tested here, and this function is only available from c++17 onwards
thank you
Is
__gcd
wrong with two long long variables? I always use it and have not seen any problems. A test case would be helpful. Thank youWhy rely on an obscure, non-standard function (that might not work everywhere) when you can just implement the Euclidean algorithm yourself with only three lines of code (not counting braces)? If even that amount of typing bothers you, you can add it to your template.
I know in some cases, it's necessary to have a fast gcd algorithm (I have heard of something like binary gcd before I believe), especially because there is modular arithmetic in the standard euclidian gcd algorithm. This probably isn't an issue for him but it's not impossible that he's searching for a fast version of gcd with long longs?