C奇偶校验和之和的程序?

假设我们有一个长整数。我们必须找出奇数位数字之和与偶数位数字之和之间的差是否为0。位置从0(最左侧)开始。

例如,假设数字为156486。奇数位置和为(5 + 4 + 6)= 15,偶数位置和为(1 + 6 + 8)= 15,因此它们是相同的。

为了解决这个问题,我们可以使用两种不同的方式。第一种方法是从头到尾遍历表格并通过交替位置来求和,然后求差。下一个方法更简单,更有效。如果该数字可被11整除,则该差必须为0。换句话说,如果奇数位置数字之和与偶数位置数字之和相同,则该数字可被11整除。

算法

isDiffZero(n)

begin

   if n is divisible by 11, then

      return 1

   else

      return 0

   end if

end

示例

#include<stdio.h>

long isDiffZero(int n) {

   if(n % 11 == 0){

      return 1;

   } else {

      return 0;

   }

}

main() {

   int n;

   printf("Enter a number: ");

   scanf("%d", &n);

   if(isDiffZero(n)) {

      printf("Difference is zero");

   } else {

      printf("Difference is non zero");

   }

}

输出结果

Enter a number: 156486

Difference is zero

以上是 C奇偶校验和之和的程序? 的全部内容, 来源链接: utcz.com/z/317127.html

回到顶部