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
廣告