给定一个在二进制表示中只有一个“1”和所有其他“0”的数字N,查找唯一设定位的位置。如果有0个或超过1个设定位,答案应该是-1。在数字的二进制表示中,设置位“1”的位置应从LSB侧的1开始计数。
null
资料来源: 微软采访| 18
例如:-
Input: N = 2 Output: 2 Explanation: 2 is represented as "10" in Binary. As we see there's only one set bit and it's in Position 2 and thus the Output 2.
这里是另一个例子
Input: N = 5 Output: -1 Explanation: 5 is represented as "101" in Binary. As we see there's two set bits and thus the Output -1.
其思想是从最右边的位开始,逐个检查每个位的值。下面是一个详细的算法。 1) 如果数字是二的幂,那么它的二进制表示形式只包含一个“1”。这就是为什么要检查给定的数字是否是2的幂。如果给定的数字不是2的幂,则打印错误消息并退出。 2) 初始化两个变量;i=1(用于循环)和pos=1(用于查找设定位的位置) 3) 在循环内部,对i和数字’N’进行位和运算。如果此操作的值为真,则设置“pos”位,因此断开循环并返回位置。否则,将“pos”增加1,将左移位i增加1,并重复该步骤。
C++
// C++ program to find position of only set bit in a given number #include <bits/stdc++.h> using namespace std; // A utility function to check whether n is a power of 2 or not. // See http://goo.gl/17Arj int isPowerOfTwo(unsigned n) { return n && (!(n & (n - 1))); } // Returns position of the only set bit in 'n' int findPosition(unsigned n) { if (!isPowerOfTwo(n)) return -1; unsigned i = 1, pos = 1; // Iterate through bits of n till we find a set bit // i&n will be non-zero only when 'i' and 'n' have a set bit // at same position while (!(i & n)) { // Unset current bit and set the next bit in 'i' i = i << 1; // increment position ++pos; } return pos; } // Driver program to test above function int main( void ) { int n = 16; int pos = findPosition(n); (pos == -1) ? cout << "n = " << n << ", Invalid number" << endl : cout << "n = " << n << ", Position " << pos << endl; n = 12; pos = findPosition(n); (pos == -1) ? cout << "n = " << n << ", Invalid number" << endl : cout << "n = " << n << ", Position " << pos << endl; n = 128; pos = findPosition(n); (pos == -1) ? cout << "n = " << n << ", Invalid number" << endl : cout << "n = " << n << ", Position " << pos << endl; return 0; } // This code is contributed by rathbhupendra |
C
// C program to find position of only set bit in a given number #include <stdio.h> // A utility function to check whether n is a power of 2 or not. // See http://goo.gl/17Arj int isPowerOfTwo(unsigned n) { return n && (!(n & (n - 1))); } // Returns position of the only set bit in 'n' int findPosition(unsigned n) { if (!isPowerOfTwo(n)) return -1; unsigned i = 1, pos = 1; // Iterate through bits of n till we find a set bit // i&n will be non-zero only when 'i' and 'n' have a set bit // at same position while (!(i & n)) { // Unset current bit and set the next bit in 'i' i = i << 1; // increment position ++pos; } return pos; } // Driver program to test above function int main( void ) { int n = 16; int pos = findPosition(n); (pos == -1) ? printf ( "n = %d, Invalid number" , n) : printf ( "n = %d, Position %d " , n, pos); n = 12; pos = findPosition(n); (pos == -1) ? printf ( "n = %d, Invalid number" , n) : printf ( "n = %d, Position %d " , n, pos); n = 128; pos = findPosition(n); (pos == -1) ? printf ( "n = %d, Invalid number" , n) : printf ( "n = %d, Position %d " , n, pos); return 0; } |
JAVA
// Java program to find position of only set bit in a given number class GFG { // A utility function to check whether n is a power of 2 or not. // See http://goo.gl/17Arj static boolean isPowerOfTwo( int n) { return (n > 0 && ((n & (n - 1 )) == 0 )) ? true : false ; } // Returns position of the only set bit in 'n' static int findPosition( int n) { if (!isPowerOfTwo(n)) return - 1 ; int i = 1 , pos = 1 ; // Iterate through bits of n till we find a set bit // i&n will be non-zero only when 'i' and 'n' have a set bit // at same position while ((i & n) == 0 ) { // Unset current bit and set the next bit in 'i' i = i << 1 ; // increment position ++pos; } return pos; } // Driver code public static void main(String[] args) { int n = 16 ; int pos = findPosition(n); if (pos == - 1 ) System.out.println( "n = " + n + ", Invalid number" ); else System.out.println( "n = " + n + ", Position " + pos); n = 12 ; pos = findPosition(n); if (pos == - 1 ) System.out.println( "n = " + n + ", Invalid number" ); else System.out.println( "n = " + n + ", Position " + pos); n = 128 ; pos = findPosition(n); if (pos == - 1 ) System.out.println( "n = " + n + ", Invalid number" ); else System.out.println( "n = " + n + ", Position " + pos); } } // This code is contributed by mits |
Python3
# Python3 program to find position of # only set bit in a given number # A utility function to check # whether n is power of 2 or # not. def isPowerOfTwo(n): return ( True if (n > 0 and ((n & (n - 1 )) > 0 )) else False ); # Returns position of the # only set bit in 'n' def findPosition(n): if (isPowerOfTwo(n) = = True ): return - 1 ; i = 1 ; pos = 1 ; # Iterate through bits of n # till we find a set bit i&n # will be non-zero only when # 'i' and 'n' have a set bit # at same position while ((i & n) = = 0 ): # Unset current bit and # set the next bit in 'i' i = i << 1 ; # increment position pos + = 1 ; return pos; # Driver Code n = 16 ; pos = findPosition(n); if (pos = = - 1 ): print ( "n =" , n, ", Invalid number" ); else : print ( "n =" , n, ", Position " , pos); n = 12 ; pos = findPosition(n); if (pos = = - 1 ): print ( "n =" , n, ", Invalid number" ); else : print ( "n =" , n, ", Position " , pos); n = 128 ; pos = findPosition(n); if (pos = = - 1 ): print ( "n =" , n, ", Invalid number" ); else : print ( "n =" , n, ", Position " , pos); # This code is contributed by mits |
C#
// C# program to find position of only set bit in a given number using System; class GFG { // A utility function to check whether n is a power of 2 or not. // See http://goo.gl/17Arj static bool isPowerOfTwo( int n) { return (n > 0 && ((n & (n - 1)) == 0)) ? true : false ; } // Returns position of the only set bit in 'n' static int findPosition( int n) { if (!isPowerOfTwo(n)) return -1; int i = 1, pos = 1; // Iterate through bits of n till we find a set bit // i&n will be non-zero only when 'i' and 'n' have a set bit // at same position while ((i & n) == 0) { // Unset current bit and set the next bit in 'i' i = i << 1; // increment position ++pos; } return pos; } // Driver code static void Main() { int n = 16; int pos = findPosition(n); if (pos == -1) Console.WriteLine( "n = " + n + ", Invalid number" ); else Console.WriteLine( "n = " + n + ", Position " + pos); n = 12; pos = findPosition(n); if (pos == -1) Console.WriteLine( "n = " + n + ", Invalid number" ); else Console.WriteLine( "n = " + n + ", Position " + pos); n = 128; pos = findPosition(n); if (pos == -1) Console.WriteLine( "n = " + n + ", Invalid number" ); else Console.WriteLine( "n = " + n + ", Position " + pos); } } // This code is contributed by mits |
PHP
<?php // PHP program to find position of // only set bit in a given number // A utility function to check // whether n is power of 2 or // not. See http://goo.gl/17Arj function isPowerOfTwo( $n ) { return $n && (!( $n & ( $n - 1))); } // Returns position of the // only set bit in 'n' function findPosition( $n ) { if (!isPowerOfTwo( $n )) return -1; $i = 1; $pos = 1; // Iterate through bits of n // till we find a set bit i&n // will be non-zero only when // 'i' and 'n' have a set bit // at same position while (!( $i & $n )) { // Unset current bit and // set the next bit in 'i' $i = $i << 1; // increment position ++ $pos ; } return $pos ; } // Driver Code $n = 16; $pos = findPosition( $n ); if (( $pos == -1) == true) echo "n =" , $n , ", " , " Invalid number" , "" ; else echo "n = " , $n , ", " , " Position " , $pos , "" ; $n = 12; $pos = findPosition( $n ); if (( $pos == -1) == true) echo "n = " , $n , ", " , " Invalid number" , "" ; else echo "n =" , $n , ", " , " Position " , $pos , "" ; $n = 128; $pos = findPosition( $n ); if (( $pos == -1) == true) echo "n =" , $n , ", " , " Invalid number" , "" ; else echo "n = " , $n , ", " , " Position " , $pos , "" ; // This code is contributed by ajit ?> |
Javascript
<script> // JavaScript program to find position of // only set bit in a given number // A utility function to check // whether n is power of 2 or // not. function isPowerOfTwo(n){ return (n > 0 && ((n & (n - 1)) == 0)) ? true : false ; } // Returns position of the // only set bit in 'n' function findPosition(n){ if (isPowerOfTwo(n) == false ) return -1; var i = 1; var pos = 1; // Iterate through bits of n // till we find a set bit i&n // will be non-zero only when // 'i' and 'n' have a set bit // at same position while ((i & n) == 0){ // Unset current bit and // set the next bit in 'i' i = i << 1; // increment position pos += 1; } return pos; } // Driver Code var n = 16; var pos = findPosition(n); if (pos == -1) document.write( "n =" + n + ", Invalid number" ); else document.write( "n =" + n + ", Position " + pos); document.write( "<br>" ); n = 12; pos = findPosition(n); if (pos == -1) document.write( "n =" + n + ", Invalid number" ); else document.write( "n =" + n + ", Position " , pos); document.write( "<br>" ); n = 128; pos = findPosition(n); if (pos == -1) document.write( "n =" + n + ", Invalid number" ); else document.write( "n =" + n + ", Position " + pos); // This code is contributed by AnkThon </script> |
输出:
n = 16, Position 5n = 12, Invalid numbern = 128, Position 8
以下是 另一种方法 对于这个问题。其思想是将给定数字“n”的设定位逐个右移,直到“n”变为0。数一数我们移动了多少次,使n为零。最终计数是设定位的位置。
C++
// C++ program to find position of only set bit in a given number #include <bits/stdc++.h> using namespace std; // A utility function to check whether n is power of 2 or not int isPowerOfTwo(unsigned n) { return n && (!(n & (n - 1))); } // Returns position of the only set bit in 'n' int findPosition(unsigned n) { if (!isPowerOfTwo(n)) return -1; unsigned count = 0; // One by one move the only set bit to right till it reaches end while (n) { n = n >> 1; // increment count of shifts ++count; } return count; } // Driver code int main( void ) { int n = 0; int pos = findPosition(n); (pos == -1) ? cout<< "n = " <<n<< ", Invalid number" : cout<< "n = " <<n<< ", Position " << pos<<endl; n = 12; pos = findPosition(n); (pos == -1) ? cout<< "n = " <<n<< ", Invalid number" : cout<< "n = " <<n<< ", Position " << pos<<endl; n = 128; pos = findPosition(n); (pos == -1) ? cout<< "n = " <<n<< ", Invalid number" : cout<< "n = " <<n<< ", Position " << pos<<endl; return 0; } // This code is contributed by rathbhupendra |
C
// C program to find position of only set bit in a given number #include <stdio.h> // A utility function to check whether n is power of 2 or not int isPowerOfTwo(unsigned n) { return n && (!(n & (n - 1))); } // Returns position of the only set bit in 'n' int findPosition(unsigned n) { if (!isPowerOfTwo(n)) return -1; unsigned count = 0; // One by one move the only set bit to right till it reaches end while (n) { n = n >> 1; // increment count of shifts ++count; } return count; } // Driver program to test above function int main( void ) { int n = 0; int pos = findPosition(n); (pos == -1) ? printf ( "n = %d, Invalid number" , n) : printf ( "n = %d, Position %d " , n, pos); n = 12; pos = findPosition(n); (pos == -1) ? printf ( "n = %d, Invalid number" , n) : printf ( "n = %d, Position %d " , n, pos); n = 128; pos = findPosition(n); (pos == -1) ? printf ( "n = %d, Invalid number" , n) : printf ( "n = %d, Position %d " , n, pos); return 0; } |
JAVA
// Java program to find position of only // set bit in a given number class GFG { // A utility function to check whether // n is power of 2 or not static boolean isPowerOfTwo( int n) { return n > 0 && ((n & (n - 1 )) == 0 ); } // Returns position of the only set bit in 'n' static int findPosition( int n) { if (!isPowerOfTwo(n)) return - 1 ; int count = 0 ; // One by one move the only set bit // to right till it reaches end while (n > 0 ) { n = n >> 1 ; // increment count of shifts ++count; } return count; } // Driver code public static void main(String[] args) { int n = 0 ; int pos = findPosition(n); if (pos == - 1 ) System.out.println( "n = " + n + ", Invalid number" ); else System.out.println( "n = " + n + ", Position " + pos); n = 12 ; pos = findPosition(n); if (pos == - 1 ) System.out.println( "n = " + n + ", Invalid number" ); else System.out.println( "n = " + n + ", Position " + pos); n = 128 ; pos = findPosition(n); if (pos == - 1 ) System.out.println( "n = " + n + ", Invalid number" ); else System.out.println( "n = " + n + ", Position " + pos); } } // This code is contributed by mits |
Python3
# Python 3 program to find position # of only set bit in a given number # A utility function to check whether # n is power of 2 or not def isPowerOfTwo(n) : return (n and ( not (n & (n - 1 )))) # Returns position of the only set bit in 'n' def findPosition(n) : if not isPowerOfTwo(n) : return - 1 count = 0 # One by one move the only set bit to # right till it reaches end while (n) : n = n >> 1 # increment count of shifts count + = 1 return count # Driver program to test above function if __name__ = = "__main__" : n = 0 pos = findPosition(n) if pos = = - 1 : print ( "n =" , n, "Invalid number" ) else : print ( "n =" , n, "Position" , pos) n = 12 pos = findPosition(n) if pos = = - 1 : print ( "n =" , n, "Invalid number" ) else : print ( "n =" , n, "Position" , pos) n = 128 pos = findPosition(n) if pos = = - 1 : print ( "n =" , n, "Invalid number" ) else : print ( "n =" , n, "Position" , pos) # This code is contributed by ANKITRAI1 |
C#
// C# program to find position of only // set bit in a given number using System; class GFG { // A utility function to check whether // n is power of 2 or not static bool isPowerOfTwo( int n) { return n > 0 && ((n & (n - 1)) == 0); } // Returns position of the only set bit in 'n' static int findPosition( int n) { if (!isPowerOfTwo(n)) return -1; int count = 0; // One by one move the only set bit // to right till it reaches end while (n > 0) { n = n >> 1; // increment count of shifts ++count; } return count; } // Driver code static void Main() { int n = 0; int pos = findPosition(n); if (pos == -1) Console.WriteLine( "n = " + n + ", Invalid number" ); else Console.WriteLine( "n = " + n + ", Position " + pos); n = 12; pos = findPosition(n); if (pos == -1) Console.WriteLine( "n = " + n + ", Invalid number" ); else Console.WriteLine( "n = " + n + ", Position " + pos); n = 128; pos = findPosition(n); if (pos == -1) Console.WriteLine( "n = " + n + ", Invalid number" ); else Console.WriteLine( "n = " + n + ", Position " + pos); } } // This code is contributed by mits |
PHP
<?php // PHP program to find position of // only set bit in a given number // A utility function to check // whether n is power of 2 or not function isPowerOfTwo( $n ) { return $n && (! ( $n & ( $n - 1))); } // Returns position of the // only set bit in 'n' function findPosition( $n ) { if (!isPowerOfTwo( $n )) return -1; $count = 0; // One by one move the only set // bit to right till it reaches end while ( $n ) { $n = $n >> 1; // increment count of shifts ++ $count ; } return $count ; } // Driver Code $n = 0; $pos = findPosition( $n ); if (( $pos == -1) == true) echo "n = " , $n , ", " , " Invalid number" , "" ; else echo "n = " , $n , ", " , " Position " , $pos , "" ; $n = 12; $pos = findPosition( $n ); if (( $pos == -1) == true) echo "n = " , $n , ", " , " Invalid number" , "" ; else echo "n = " , $n , " Position " , $pos , "" ; $n = 128; $pos = findPosition( $n ); if (( $pos == -1) == true) echo "n = " , $n , ", " , " Invalid number" , "" ; else echo "n = " , $n , ", " , " Position " , $pos , "" ; // This code is contributed by ajit ?> |
Javascript
<script> // JavaScript program to find position // of only set bit in a given number // A utility function to check whether // n is power of 2 or not function isPowerOfTwo(n) { return (n && ( !(n & (n-1)))) } // Returns position of the only set bit in 'n' function findPosition(n) { if (!isPowerOfTwo(n)) return -1 var count = 0 // One by one move the only set bit to // right till it reaches end while (n) { n = n >> 1 // increment count of shifts count += 1 } return count } // Driver program to test above function var n = 0 var pos = findPosition(n) if (pos == -1) document.write( "n = " , n, ", Invalid number " ) else document.write( "n =" , n, ", Position " , pos) document.write( "<br>" ) n = 12 pos = findPosition(n) if (pos == -1) document.write( "n = " , n, ", Invalid number" ) else document.write( "n = " , n, ", Position " , pos) document.write( "<br>" ) n = 128 pos = findPosition(n) if (pos == -1) document.write( "n = " , n, ", Invalid number" ) else document.write( "n = " , n, ", Position " , pos) document.write( "<br>" ) // This code is contributed by AnkThon </script> |
输出:
n = 0, Invalid numbern = 12, Invalid numbern = 128, Position 8
我们也可以使用log base 2来查找位置 幸亏 阿伦库马尔 感谢你提出这个解决方案。
C++
#include <bits/stdc++.h> using namespace std; unsigned int Log2n(unsigned int n) { return (n > 1) ? 1 + Log2n(n / 2) : 0; } int isPowerOfTwo(unsigned n) { return n && (!(n & (n - 1))); } int findPosition(unsigned n) { if (!isPowerOfTwo(n)) return -1; return Log2n(n) + 1; } // Driver code int main( void ) { int n = 0; int pos = findPosition(n); (pos == -1) ? cout<< "n = " <<n<< ", Invalid number" : cout<< "n = " <<n<< ", Position " <<pos<< " " ; n = 12; pos = findPosition(n); (pos == -1) ? cout<< "n = " <<n<< ", Invalid number" : cout<< "n = " <<n<< ", Position " <<pos<< " " ; n = 128; pos = findPosition(n); (pos == -1) ? cout<< "n = " <<n<< ", Invalid number" : cout<< "n = " <<n<< ", Position " <<pos<< " " ; return 0; } // This code is contributed by rathbhupendra |
C
#include <stdio.h> unsigned int Log2n(unsigned int n) { return (n > 1) ? 1 + Log2n(n / 2) : 0; } int isPowerOfTwo(unsigned n) { return n && (!(n & (n - 1))); } int findPosition(unsigned n) { if (!isPowerOfTwo(n)) return -1; return Log2n(n) + 1; } // Driver program to test above function int main( void ) { int n = 0; int pos = findPosition(n); (pos == -1) ? printf ( "n = %d, Invalid number" , n) : printf ( "n = %d, Position %d " , n, pos); n = 12; pos = findPosition(n); (pos == -1) ? printf ( "n = %d, Invalid number" , n) : printf ( "n = %d, Position %d " , n, pos); n = 128; pos = findPosition(n); (pos == -1) ? printf ( "n = %d, Invalid number" , n) : printf ( "n = %d, Position %d " , n, pos); return 0; } |
JAVA
// Java program to find position // of only set bit in a given number class GFG { static int Log2n( int n) { return (n > 1 ) ? 1 + Log2n(n / 2 ) : 0 ; } static boolean isPowerOfTwo( int n) { return n > 0 && ((n & (n - 1 )) == 0 ); } static int findPosition( int n) { if (!isPowerOfTwo(n)) return - 1 ; return Log2n(n) + 1 ; } // Driver code public static void main(String[] args) { int n = 0 ; int pos = findPosition(n); if (pos == - 1 ) System.out.println( "n = " + n + ", Invalid number " ); else System.out.println( "n = " + n + ", Position " + pos); n = 12 ; pos = findPosition(n); if (pos == - 1 ) System.out.println( "n = " + n + ", Invalid number " ); else System.out.println( "n = " + n + ", Position " + pos); n = 128 ; pos = findPosition(n); if (pos == - 1 ) System.out.println( "n = " + n + ", Invalid number " ); else System.out.println( "n = " + n + ", Position " + pos); } } // This code is contributed by mits |
Python3
# Python program to find position # of only set bit in a given number def Log2n(n): if (n > 1 ): return ( 1 + Log2n(n / 2 )) else : return 0 # A utility function to check # whether n is power of 2 or not def isPowerOfTwo(n): return n and ( not (n & (n - 1 )) ) def findPosition(n): if ( not isPowerOfTwo(n)): return - 1 return Log2n(n) + 1 # Driver program to test above function n = 0 pos = findPosition(n) if (pos = = - 1 ): print ( "n =" , n, ", Invalid number" ) else : print ( "n = " , n, ", Position " , pos) n = 12 pos = findPosition(n) if (pos = = - 1 ): print ( "n =" , n, ", Invalid number" ) else : print ( "n = " , n, ", Position " , pos) n = 128 pos = findPosition(n) if (pos = = - 1 ): print ( "n = " , n, ", Invalid number" ) else : print ( "n = " , n, ", Position " , pos) # This code is contributed # by Sumit Sudhakar |
C#
// C# program to find position // of only set bit in a given number using System; class GFG { static int Log2n( int n) { return (n > 1) ? 1 + Log2n(n / 2) : 0; } static bool isPowerOfTwo( int n) { return n > 0 && ((n & (n - 1)) == 0); } static int findPosition( int n) { if (!isPowerOfTwo(n)) return -1; return Log2n(n) + 1; } // Driver program to test above function static void Main() { int n = 0; int pos = findPosition(n); if (pos == -1) Console.WriteLine( "n = " + n + ", Invalid number " ); else Console.WriteLine( "n = " + n + ", Position " + pos); n = 12; pos = findPosition(n); if (pos == -1) Console.WriteLine( "n = " + n + ", Invalid number " ); else Console.WriteLine( "n = " + n + ", Position " + pos); n = 128; pos = findPosition(n); if (pos == -1) Console.WriteLine( "n = " + n + ", Invalid number " ); else Console.WriteLine( "n = " + n + ", Position " + pos); } } // This code is contributed by mits |
PHP
<?php // PHP program to find position // of only set bit in a given number function Log2n( $n ) { return ( $n > 1) ? 1 + Log2n( $n / 2) : 0; } function isPowerOfTwo( $n ) { return $n && (! ( $n & ( $n - 1))); } function findPosition( $n ) { if (!isPowerOfTwo( $n )) return -1; return Log2n( $n ) + 1; } // Driver Code $n = 0; $pos = findPosition( $n ); if (( $pos == -1) == true) echo "n =" , $n , ", " , " Invalid number" , "" ; else echo "n = " , $n , ", " , " Position n" , $pos , "" ; $n = 12; $pos = findPosition( $n ); if (( $pos == -1) == true) echo "n = " , $n , ", " , " Invalid number" , "" ; else echo "n =" , $n , ", " , " Position" , $pos , "" ; // Driver Code $n = 128; $pos = findPosition( $n ); if (( $pos == -1) == true) echo "n = " , $n , ", " , " Invalid number" , "" ; else echo "n = " , $n , ", " , " Position " , $pos , "" ; // This code is contributed by aj_36 ?> |
Javascript
<script> // JavaScript program to find position // of only set bit in a given number function Log2n(n){ if (n > 1) return (1 + Log2n(n / 2)) else return 0 } // A utility function to check // whether n is power of 2 or not function isPowerOfTwo(n){ return n && ( ! (n & (n-1)) ) } function findPosition(n){ if (isPowerOfTwo(n) == false ) return -1 return Log2n(n) + 1 } // Driver program to test above function var n = 0 var pos = findPosition(n) if (pos == -1) document.write( "n = " , n, ", Invalid number" ) else document.write( "n = " , n, ", Position " , pos) document.write( "<br>" ) n = 12 pos = findPosition(n) if (pos == -1) document.write( "n = " , n, ", Invalid number" ) else document.write( "n = " , n, ", Position " , pos) document.write( "<br>" ) n = 128 pos = findPosition(n) if (pos == -1) document.write( "n = " , n, ", Invalid number" ) else document.write( "n = " , n, ", Position " , pos) // This code is contributed AnkThon </script> |
输出:
n = 0, Invalid numbern = 12, Invalid numbern = 128, Position 8
本文由 纳伦德拉·康拉尔卡 。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请发表评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END