Problem J: 求完全数

Problem J: 求完全数
Description
如果一个正整数x是其所有因子(不包含x本身)的和,则称x 是一个完全数。

Input
输入有多行。第一行N>0表示后面有N个测试用例。每个测试用例占一行,各行包含2个整数min和max,且max>min>0,表示要求区间[min,max]内的完全数。

Output
输出为多行,每个测试用例的输出占一行。各行的格式为:

case i:d1,d2

其中i表示测试用例编号(从1开始),d1和d2是[min,max]内的完全数,如果有多个,则两两之间用半角的逗号“,”隔开;如果没有,则输出:no complete number in this scope.

Sample Input
4
1 100
400 500
8000 9000
40 400
Sample Output
case 1:6,28
case 2:496
case 3:8128
case 4:no complete number in this scope.
HINT
Append Code



```c
#include<stdio.h>
using namespace std;
bool is_completed(int x) {
    int t=x;
    for(int i=1;i<x;i++) {
        if(x%i==0) {
            t-=i;
        }
    }
    if(t==0)
    return true;
    return false;
}
int main() {
    int n,min,max;
    scanf("%d",&n);
    while(n--) {
        int count=0;
        scanf("%d%d",&min,&max);
        for(int i=min;i<=max;i++) {
            if(is_completed(i)) {
                if(count==0)
                printf("%d",i);
                else
                printf(",%d",i);
                count++;
            }
        }
        if(count==0) {
            printf("no complete number in this scope.");
        }
    }
    return 0;
}

img

```