题目:有一种特殊的正整数(int类型),将数分为两侧,每侧至少有一位数,两侧的每个数字相加相等,请写出判断的方法用来检测是否这种数。
比如:1236,可以拆分为123和6。
输入:输入的第一行指定用例数量T;
用例的第二行输入正整数;
输出:输出是否为特殊的正整数
bool is_magicnum(int number)
intput:
2
1232145
4543622
output:
1
1
1 #include <stdio.h> 2 #include <stdbool.h> 3 4 bool magicnum(int number) 5 { 6 int arr[100]; 7 int i = 0; 8 int len = 0; 9 while(number != 0) 10 { 11 arr[i] = number % 10; 12 number /= 10; 13 i++; 14 } 15 len =i; 16 int sumleft = 0; 17 int sumright =0; 18 for(i =0; i < len; i++) 19 { 20 sumleft += arr[i]; 21 for(int j = i+1; j < len ;j++) 22 { 23 sumright += arr[j]; 24 } 25 if(sumleft == sumright) 26 { 27 return true; 28 } 29 sumright = 0; 30 } 31 return false; 32 } 33 34 int main() 35 { 36 int n; 37 int m; 38 bool flag = false; 39 scanf("%d",&n); 40 for(int i = 0; i < n; i++) 41 { 42 scanf("%d",&m); 43 flag = magicnum(m); 44 if(flag == true) 45 { 46 printf("1\n"); 47 } 48 else 49 printf("0\n"); 50 } 51 return 0; 52 }
原文地址:https://www.cnblogs.com/leezheng/p/8971984.html
时间: 2024-10-31 11:43:33