如题
有一种特殊的正整数(int类型),将数分为两侧,每侧至少有一位数,两侧的每个数字相加相等,请写出判断的方法用来检测是否这种数。
比如:1236,可以拆分为123和6。
#include <stdio.h> #include <stdbool.h> bool is_magicnum(int number) { int n = 0; int arr[11]; int num1=0, num2=0; while(number>0) { arr[n++] = number % 10; number = number/10; } for(int i=0; i<n; i++) { num1 += arr[i]; for(int j=n-1; j>i; j--) { num2 +=arr[j]; } if(num1 == num2) return true; num2 = 0; } return false; } int main() { int num; printf("请输入一个正整数:"); scanf("%d",&num); if(is_magicnum(num)) puts("true"); else puts("false"); }