小红拿到了一个数组,她每次操作可以选择两个元素,将它们变成它们的平均数(当且仅当这两个元素的平均数为整数时才可操作)。小红想知道,自己能否通过一次操作,使得所有元素的乘积为偶数?
区块链毕设网qklbishe.com为您提供问题的解答
小红拿到了一个数组,她每次操作可以选择两个元素,将它们变成它们的平均数(当且仅当这两个元素的平均数为整数时才可操作)。小红想知道,自己能否通过一次操作,使得所有元素的乘积为偶数?
如果原数组存在偶数,那肯定可以,忽略。
那么就看原数组全部都是奇数的情况。
两个数的平均值是偶数,那么两个数的和是4的倍数,每个数,对4求模,有0,1,2,3四种情况,0和2包含在偶数情况中,忽略,只看1和3,如果原数组同时存在1和3,那么这两个数相加就能得到偶数
import java.util.Scanner; public class Main { public static void main(String[] args) { String yes = "Yesn"; String no = "Non"; StringBuilder ans = new StringBuilder(); Scanner scan = new Scanner(System.in); int t = scan.nextInt(); for (int i = 0; i < t; i++) { int n = scan.nextInt(); int b = 0; for (int j = 0; j < n; j++) { int a = scan.nextInt(); b|=1<<(a%4); } if((b&0b101)!=0||(b&0b1010)==0b1010){ ans.append(yes); }else ans.append(no); } System.out.println(ans); } }
编辑于 2024-03-23 21:38:52
以上就是关于问题小红拿到了一个数组,她每次操作可以选择两个元素,将它们变成它们的平均数(当且仅当这两个元素的平均数为整数时才可操作)。小红想知道,自己能否通过一次操作,使得所有元素的乘积为偶数?的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训