一个两位数是奇数用 C语言怎么表示,一定要ab%2==1, 不能表示为ab%2 !==0么?
发布网友
发布时间:2022-07-04 19:56
我来回答
共5个回答
热心网友
时间:2023-11-24 11:09
两位数不是用ab这样限定的。举个例子:若num是int型的,那么两位的奇数限定为:
if(num>=10 && num<100 && num%2==1) …… 这样。
表示成num%2!=0这样的形式,可以表示奇数,但是我觉得还是num%2==1这样直观一些,因为对2取余,结果不是1就是0.这样一来奇偶就很直观了,用不等号不会报错,但是对于阅读代码会带来一点不便,就是有点绕而已。
希望我说的够清楚。
热心网友
时间:2023-11-24 11:10
如果ab是整数(INT类型)就可以用后者来表示,与前面的是相同的。但如果ab不是整型的,就只能用前者了。
热心网友
时间:2023-11-24 11:10
显然要使最小,只需使1、2、3、4、5为十位,0、6、7、8、9为个位,任意组合即可。
现要使和为奇数,必使十位1个奇数与个位1个偶数调换位置(或十位1个偶数与个位1个奇数调换位置)。
我们又知道,对AB和BA,(假设A>B)这样的两个数,差总等于9×(A - B)。
因此,在上述交换时,尽量选择差最小的一个奇数和一个偶数,可使原和的增加最小。
因此必选择交换5和6。即十位上1、2、3、4、6,个位上0、5、7、8、9的任意组合满足题意。
例如:10、27、38、49、65
此时5个数的和 = (10 + 20 + 30 + 40 + 60 )+ (0 + 5 + 7 + 8 + 9)= ①⑧9
热心网友
时间:2023-11-24 11:11
可以选择(a*b)%2==1或者(a*b)%2!=1
热心网友
时间:2023-11-24 11:11
应该是(a*10+b)%2==1或者(a*10+b)%2!=0