我们可以用位运算符把一个数乘以7。首先将数字左移3位(得到8n),然后从移位后的数字中减去原始数字并返回差值(8n–n)。 节目:
null
CPP
# include<bits/stdc++.h> using namespace std; //c++ implementation long multiplyBySeven( long n) { /* Note the inner bracket here. This is needed because precedence of '-' operator is higher than '<<' */ return ((n<<3) - n); } /* Driver program to test above function */ int main() { long n = 4; cout<<multiplyBySeven(n); return 0; } |
C
# include<stdio.h> int multiplyBySeven(unsigned int n) { /* Note the inner bracket here. This is needed because precedence of '-' operator is higher than '<<' */ return ((n<<3) - n); } /* Driver program to test above function */ int main() { unsigned int n = 4; printf ( "%u" , multiplyBySeven(n)); getchar (); return 0; } |
JAVA
// Java program to multiply any // positive number to 7 class GFG { static int multiplyBySeven( int n) { /* Note the inner bracket here. This is needed because precedence of '-' operator is higher than '<<' */ return ((n << 3 ) - n); } // Driver code public static void main (String arg[]) { int n = 4 ; System.out.println(multiplyBySeven(n)); } } // This code is contributed by Anant Agarwal. |
蟒蛇3
# Python program to multiply any # positive number to 7 # Function to multiply any number with 7 def multiplyBySeven(n): # Note the inner bracket here. # This is needed because # precedence of '-' operator is # higher than '<<' return ((n << 3 ) - n) # Driver code n = 4 print (multiplyBySeven(n)) # This code is contributed by Danish Raza |
C#
// C# program to multiply any // positive number to 7 using System; class GFG { static int multiplyBySeven( int n) { /* Note the inner bracket here. This is needed because precedence of '-' operator is higher than '<<' */ return ((n << 3) - n); } // Driver code public static void Main () { int n = 4; Console.Write(multiplyBySeven(n)); } } // This code is contributed by Sam007 |
PHP
<?php function multiplyBySeven( $n ) { // Note the inner bracket here. // This is needed because // precedence of '-' operator // is higherthan '<<' return (( $n <<3) - $n ); } // Driver Code $n = 4; echo multiplyBySeven( $n ); // This code is contributed by vt_m. ?> |
Javascript
<script> function multiplyBySeven(n) { /* Note the inner bracket here. This is needed because precedence of '-' operator is higher than '<<' */ return ((n << 3) - n); } // Driver program to test above function n = 4; document.write(multiplyBySeven(n)); // This code is contributed by simranarora5sos </script> |
输出:
28
时间复杂性: O(1) 空间复杂性: O(1) 注:仅适用于正整数。 同样的概念也可以用于9或其他数字的快速乘法。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END