输入: 值为0和1的两个元素的数组arr[] 输出: 将两个元素都设为0。
null
规格: 以下是要遵循的规范。
1) 可以保证一个元素为0,但我们不知道它的位置。 2) 我们不能说另一个元素,它可以是0或1。 3) 我们只能补足数组元素,而不能进行和、或多、除等运算…。等 4) 我们不能使用if、else和循环构造。 5) 显然,我们不能直接将0分配给数组元素。
我们有几种方法可以做到这一点,因为我们确信总是有一个零。感谢Devendraiit提出以下三种方法。
方法1
C++
#include <bits/stdc++.h> using namespace std; void changeToZero( int a[2]) { a[ a[1] ] = a[ !a[1] ]; } // Driver code int main() { int a[] = {1, 0}; changeToZero(a); cout<< "arr[0] = " <<a[0]<<endl; cout<< " arr[1] = " <<a[1]; return 0; } // This code is contributed by rathbhupendra |
C
void changeToZero( int a[2]) { a[ a[1] ] = a[ !a[1] ]; } int main() { int a[] = {1, 0}; changeToZero(a); printf ( " arr[0] = %d " , a[0]); printf ( " arr[1] = %d " , a[1]); getchar (); return 0; } |
JAVA
import java.io.*; class GFG{ public static void changeToZero( int a[]) { a[a[ 1 ]] = a[ 1 - a[ 1 ]]; } // Driver code public static void main(String args[]) { int [] arr; arr = new int [ 2 ]; arr[ 0 ] = 1 ; arr[ 1 ] = 0 ; changeToZero(arr); System.out.println( "arr[0]= " + arr[ 0 ]); System.out.println( "arr[1]= " + arr[ 1 ]); } } // This code is contributed by rohitsingh07052 |
Python3
def changeToZero(a): a[ a[ 1 ] ] = a[ not a[ 1 ] ] return a # Driver code if __name__ = = '__main__' : a = [ 1 , 0 ] a = changeToZero(a); print ( " arr[0] = " + str (a[ 0 ])) print ( " arr[1] = " + str (a[ 1 ])) # This code is contributed by Yash_R |
C#
using System; class GFG { public static void changeToZero( int [] a) { a[a[1]] = a[1 - a[1]]; } // Driver code public static void Main() { int [] arr; arr = new int [2]; arr[0] = 1; arr[1] = 0; changeToZero(arr); Console.WriteLine( "arr[0]= " + arr[0]); Console.WriteLine( "arr[1]= " + arr[1]); } } // This code is contributed by souravmahato348. |
Javascript
<script> function changeToZero(a) { a[a[1]] = a[1 - a[1]]; } // Driver code let arr; arr = []; arr[0] = 1; arr[1] = 0; changeToZero(arr); document.write( "arr[0] = " + arr[0] + "<br/>" ); document.write( "arr[1] = " + arr[1]); // This code is contributed by avijitmondal1998 </script> |
方法2
C
void changeToZero( int a[2]) { a[ !a[0] ] = a[ !a[1] ] } |
JAVA
void changeToZero( int [ 2 ]a) { a[!a[ 0 ]] = a[!a[ 1 ]]; } // This code is contributed by souravmahato348. |
C#
static void changeToZero( int [2]a) { a[!a[0]] = a[!a[1]]; } // This code is contributed by souravmahato348. |
Javascript
<script> function changeToZero(a) { a[ !a[0] ] = a[ !a[1] ]; } // This code is contributed by souravmahato348. </script> |
Python3
def changeToZero(a): a[ !a[ 0 ] ] = a[ !a[ 1 ] ] |
方法3 这种方法甚至不需要补充。
C
void changeToZero( int a[2]) { a[ a[1] ] = a[ a[0] ] } |
JAVA
static void changeToZero( int a[ 2 ]) { a[ a[ 1 ] ] = a[ a[ 0 ] ] } // this code is contributed by shivanisinghss2110 |
方法4 幸亏 普维 感谢你提出这种方法。
C
void changeToZero( int a[2]) { a[0] = a[a[0]]; a[1] = a[0]; } |
可能还有更多的方法。 如果您发现上述代码不正确,请写下评论,或者寻找其他方法来解决相同的问题。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END