2018大华软件大赛模拟赛第2题 (特殊的整数)

题目:有一种特殊的正整数(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

2018大华软件大赛模拟赛第2题 (特殊的整数)的相关文章

2018大华软件大赛 初赛

1    给定一个正数数组,找出不相邻元素的子序列的和的最大值.如:2.5.3.9应该返回14(5+9):8.5.3.9.1应该返回17(8+9):5 4 10 100 10 5应该返回110(5+100+5):    "输入的第一行指定用例数量T:用例的第一行输入指定数组长度N:用例的第二行输入指定N个数组元素C[i]:"    输出子序列的和的最大值    "1 ≤ T ≤ 101 ≤ N ≤ 1000 ≤ C[i] ≤ 500"    "int fi

[2018大华软件创新挑战赛] 初赛1~10题(更新中)

赛题以及注意事项(下载):https://files.cnblogs.com/files/usingnamespace-caoliu/%E5%88%9D%E8%B5%9B.rar 第一题(已优化): 给定一个正数数组,找出不相邻元素的子序列的和的最大值.如:2.5.3.9应该返回14(5+9):8.5.3.9.1应该返回17(8+9):5 4 10 100 10 5应该返回110(5+100+5): 1 #include <stdio.h> 2 #include <unistd.h>

[2018大华软件创新挑战赛]模拟赛第四题

题目 输入 输出 限制 示例 某股票操盘手账户里有N支股票,股价互不等,分别为v1,v2...vn;每支股票的持有股数为m1,m2...mn.现在操盘手要回笼资金需要卖出股票,假设卖出价格即为当前股价,请问能回笼多少种不同的资金量.比如:两支股票,股价分别为10.11,数量为1.2,则能回笼0.10.11.22.21.32,总共6种资金量 输入的第一行指定用例数量T:用例的第一行输入股票种类n:用例的第二行输入股票的价格,以空格隔开:用例的第三行输入股票的数量,已空格隔开: 输出不同资金量的个数

2018.6.29 省选模拟赛

*注意:这套题目应版权方要求,不得公示题面. 从这里开始 Problem A 小D与电梯 Problem B 小D与田野 Problem C 小D与函数 Problem A 小D与电梯 题目大意 假设电梯在0层,容量无限大.给定$n$个人的到达时间和要去的楼层.电梯上下一层楼花费的时间为1,电梯开关门.乘客上下的耗时不计,电梯可以停留在某一层楼.问将所有人送达到目的地,并让电梯回到0层的最少耗时. 先按到达时间将所有人排序.显然,每次电梯运输的人是一段连续的区间中的人. 用$f[i]$表示将前$

2018.3.10 省选模拟赛

从这里开始 概况 Problem A 三元组 Problem B 攻略 Problem C 迂回 概况 这是省选T1合集?还是欢乐AK赛? 全班一半以上的人三道题都会做qwq. Doggu还剩一小时时以为自己AK了,然后玩了一小时.虽然最终被卡了20分的常数. ZJC 1个半小时AK?Excuse me? 我这条大咸鱼到最后10分钟才敲完了T1,然后发现线段树要T掉. 发自内心鄙视垃圾出题人卡常数,本来的欢乐AK变成280. 教练给我们考4个小时的试,题面上也这么写的,看题解,woc,考试时间3

2018.2.12 省选模拟赛

题目大意 (题目很简洁了,不需要大意) 其实显而易见地可以发现,当被卡一次后后面的路程都是固定了的. 可以用类似动态规划的思想来进行预处理.现在的问题就是怎么知道在某个位置刚等完红灯然后出发会在哪个路口再次被卡. 尝试画一画图: 其中横轴表示位置,纵轴表示时间,长方体表示红灯时段.有用的部分长度只有$r + g$,所以在模意义下弄一下就可以减少很多重复和无用状态: 但是这样仍然不好处理上面提到的问题,考虑让线段横着走,第一个撞着的长方形就是答案.为了实现这个目标,就每个长方形向下移动一段(移动的

2018/3/9 省选模拟赛 0分

第二题模拟扫一遍就可以过,不能更划算了.q=1的30分写的比100分还麻烦,有趣哦. 破暴力40分也没什么可写了,日常辣鸡吃枣药丸. 原文地址:https://www.cnblogs.com/137shoebills/p/8533870.html

2018.2.23 省选模拟赛

从这里开始 Problem A cycle Problem B meal Problem C naive Problem A cycle 判断是否有经过一个点的负环,我们可以跑最短路.判断这个点到自己的最短路是否是负数. 于是可以二分环大小跑dfs版spfa. 于是可以分层图做时间复杂度四方的dp. (YYR给的数据水得吓人,这两个做法居然都跑过了.然后都被我和jmr卡掉了) 注意到如果一个点走不超过$k$条边回到自己的最短路的长度是负数,那么走不超过$k + 1$条边也是. 因此我们可以二分答

2018/3/27 省选模拟赛 140分

T1 树归 100 T2 写的快速幂卷积 40,超时了,正解是矩阵乘法之类的. 正解 1 暴力(m<=5):将x的所有约数提出来矩阵乘法 2 3 定义乘法同构: 4 A=p[1]^a[1] * p[2]^a[2] * ... * p[n]^a[n] 5 B=q[1]^b[1] * q[2]^b[2] * ... * q[n]^b[n] 6 其中p[i]与q[i]皆为质数 7 将数组a与b降序排序后如果是完全相同的,那么称A与B是乘法同构的 8 如 2*2*2*2*3*3*5 与 7*11*11*