WUSTOJ 1274: 喂,这里是帅帅的LCM(Java)

版权声明:转载请注明出处 https://blog.csdn.net/pfdvnah/article/details/89404026

1274: 喂,这里是帅帅的LCM

题目

  在一组数中,找出个数为奇数的数。更多内容点击标题。

分析

  其实这种题并不难,做过一次之后,绝对不会错第二次。通过读题可以发现,我们要找的那个数在这一堆数里面有奇数个。这里就得说一下异或运算符了:

// 给定一个数m,那么
m ^ m = 0
m ^ m ^ m = m
m ^ m ^ m ^ m = 0
// 也就是说偶数个m异或为0,奇数个m异或为m

代码

/**
 * 用时:1676ms
 * @author PengHao
 * @version A1.0
 * @date 2019年4月19日 下午4:44:05
 */

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		short t, n, m; // 分别表示数据组数,每组个数,和输入的数
		t = sc.nextShort();
		while((t--) > 0) {
			n = sc.nextShort();
			m = sc.nextShort();
			while((--n) > 0) { // 上一行已经输入了一个数,因此为(--n)而不是(n--)
				m ^= sc.nextShort(); // 异或赋值运算符
			}
			System.out.println(m);
		}
		sc.close();
	}
	
}

写在最后:

  1. 如需转载,请于标题下注明链接形式的wowpH的博客即可;
  2. 代码原创,如需公开引用,不能删除首行注释(作者,版本号,时间等信息)。

猜你喜欢

转载自blog.csdn.net/pfdvnah/article/details/89404026