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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP