热爱学习的一锐今天从数学老师那里了解到了完美数,如果一个数恰好等于它的真因子之和,则称该数为“完全数”。各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数。机敏的一锐,在了解到所有的完美数都是三角形数(第n个三角形数是n*(n+1)/2)后想要快速得出某一区间[x,y]里面的所有的完美数,同时他觉得计算不过是无聊的过程。所以他想请擅长编程的你来帮他得到结果。
热爱学习的一锐今天从数学老师那里了解到了完美数,如果一个数恰好等于它的真因子之和,则称该数为“完全数”。各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数。机敏的一锐,在了解到所有的完美数都是三角形数(第n个三角形数是n*(n+1)/2)后想要快速得出某一区间[x,y]里面的所有的完美数,同时他觉得计算不过是无聊的过程。所以他想请擅长编程的你来帮他得到结果。
第一行输入一个正整数T(1<=T<=100)表示数据组数。接下来T行,每行两个正整数x,y(1<=x<=y<=200000000000)。
每行输出区间[x,y]之间的所有完全数,如果没有就输出”unhappy”(不含双引号)。
3 2 10 14 41 44 100
6 28 unhappy
6的真因子有1,2,3,且6=1+2+3,故6是完美数,同时也是三角形数;
28的真因子有1,2,4,7,14,且28=1+2+4+7+14,故28是完美数,同时28=1+2+3+4+5+6+7,也是三角形数。