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

更新於:2019年7月30日

509 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告