G:Counting Divisor
忽然想到怎么做,就了a了下,本来在看书休息的,明天继续休息
开讲:
题意:输入n个数,n最大10000,每个数的最大1000000,
然后让你求这n个数中每个数能被其余n-1个数整除的次数
换一种说法是这样,就是判断第i个数的因数中在这n个数中出现的次数,不包括本身
这种说法比较好解这个题
打表么
塔神告诉我的,在此无限YM塔神,偶弱啊,在那几个小时硬是一直在弯路上
原来连素数表都不用求,根本不用什么算法。
刚才想到的,就是在输入的时候,计算这个数据(这边我称为num[i])出现的次数sum[i],并且找出n个数中的最大值max
然后循环n个数据,对每个数据num[i],让这个数据的倍数j(j=num[i]*2,num[i]*3直到num[i]*x<=max)
result[j]都加上num[i]的个数即sum[i],当然,在循环过程中,num[i]如果第二次以上出现,那么可以不用处理了,加个标记数组就OK了
不要忘了所有需要的数组初始化,我是所有题目都当多组数据处理的,只有上次发生了意外,用下EOF给我爆非法内存访问,请问哪位神直到这个原因
~~~~(>_<)~~~~ ,这么水的题,偶又弱了,越来越弱了,每天被阿辉啊,塔神啊,卡神啊,gyk神啊神马的虐,我该咋办哦……