# 一分鐘分享
###### tags: `110程式設計一`

取自我cpe犯錯的D能題目
```c=
#include<stdio.h>
#include<math.h>
int list[1001];
void fact()
{
int i,j;
for(i=1;i<=1000;i++)
list[i]=0;
for(i=1;i<=1000;i++)
{
for(j=1;j<=i;j++)
{
if(i%j==0)
list[i]+=j;
}
}
}
int main()
{
fact();
int k,r,i,j,n,kase=1;
while(scanf("%d",&n)==1)
{
if(n<=0)
break;
printf("Case %d: ",kase);
r=0;
for(i=1000;i>=1;i--)
{
if(list[i]==n)
{
printf("%d\n",i);
r++;
break;
}
}
if(r==0)
printf("-1\n");
kase++;
}
return 0;
}
```

```c=
#include<stdio.h>
#include<math.h>
int list[1001];
void fact()
{
int i,j;
for(i=1;i<=1000;i++)
list[i]=0;
for(i=1;i<=1000;i++)
{
for(j=1;j<=i;j++)
{
if(i%j==0)
list[i]+=j;
}
}
}
int main()
{
fact();
int k,r,i,j,n,kase=1;
while(scanf("%d",&n)==1)
{
if(n==0)
break;
printf("Case %d: ",kase);
r=0;
for(i=1000;i>=1;i--)
{
if(list[i]==n)
{
printf("%d\n",i);
r++;
break;
}
}
if(r==0)
printf("-1\n");
kase++;
}
return 0;
}
```
test case 1:
```
1
102
1000
2
4
12
24
9
15
39
36
245
278
952
664
358
234
960
991
996
0
```
```
Case 1: 1
Case 2: 101
Case 3: -1
Case 4: -1
Case 5: 3
Case 6: 11
Case 7: 23
Case 8: -1
Case 9: 8
Case 10: 18
Case 11: 22
Case 12: -1
Case 13: 277
Case 14: 871
Case 15: -1
Case 16: -1
Case 17: 233
Case 18: 899
Case 19: -1
Case 20: 662
```
test case 2:
```
8
5
10
20
31
45
350
24
822
119
618
931
612
802
800
380
230
749
952
649
171
0
```
```
Case 1: 7
Case 2: -1
Case 3: -1
Case 4: 19
Case 5: 25
Case 6: -1
Case 7: 349
Case 8: 23
Case 9: 821
Case 10: -1
Case 11: 617
Case 12: 484
Case 13: 505
Case 14: -1
Case 15: 597
Case 16: 379
Case 17: 229
Case 18: -1
Case 19: 871
Case 20: -1
Case 21: 98
```