[ACM_ZJUT_1060]个数最多的余数
杰拉斯 | 时间:2012-04-05, Thu | 19,870 views编程算法
个数最多的余数
Time Limit:1000MS Memory Limit:32768K
Description
输入一些正整数(个数≤10000),计算其模100的余数,输出个数最多的余数。
Sample Input
101 105 1 305 9 901
Sample Output
1
这道题,呃,挺简单,真的挺简单。
那为什么我把它发出来呢= =||
因为这道题让做惯了比较难的题的我想复杂了。。 [糗大了]
下午,同学问了我这道题,嗯,输出个数“最多”的余数。唔,最多,那就是排序咯?“个数”最多的“余数”,输出的数据跟排序的数据不是同一个,那要储存两个数据咯,那使用什么呢?结构体?map容器?那要自定义比较函数?
代码如下:
#include <iostream> #include <map> #include <iterator> using namespace std; int main() { int n, max = 0, maxnum = 0; map<int, int> m; while(cin>>n) { ++m[n%100]; } for(map<int, int>::iterator it = m.begin(); it != m.end(); ++it){ if((*it).second > max){ maxnum = (*it).first; max = (*it).second; } } cout << maxnum << endl; return 0; }
结果是Accepted了,但越想越不对= =。。直接找下标不就行了 [流汗] ?
代码如下:
#include <iostream> using namespace std; int main() { int n, max = 0, maxnum = 0; int r[100] = {0}; while(cin>>n) { ++r[n % 100]; } for(int i = 0; i < 100; ++i){ if(max < r[i]){ maxnum = i; max = r[i]; } } cout << maxnum << endl; return 0; }
如需转载请注明出处:杰拉斯的博客
当前暂无评论 »