《求完全数》
【問題描述】
一個整數(shù),如果其所有小于它本身的因子(包括1)之和正好等于該數(shù),則稱其為"完全數(shù)"。編寫程序計算某一范圍內的所有"完全數(shù)"。
【輸入形式】
從控制臺輸入數(shù)據(jù)范圍的下限m和上限n,m和n都為整數(shù),且1<=m<=n<=10000,m和n之間用一個空格分割。
【輸出形式】
向控制臺輸出m和n之間的所有"完全數(shù)"(包括m和n本身),所有輸出的數(shù)據(jù)以從小到大的順序顯示在一行上,各數(shù)之間以一個空格分割。若該范圍內沒有完全數(shù),則輸出字符串No Answer。
【樣例1輸入】
1?100【樣例1輸出】
6?28【樣例1說明】
在1到100之間,因為只有:6=1+2+3,28=1+2+4+7+14,滿足完全數(shù)的要求,所以輸出6和28,它們中間以一個空格分割。
【樣例2輸入】
100?200【樣例2輸出】
No?Answer【樣例2說明】
在100到200之間,因為沒有完全數(shù),所以輸出No Answer。
【評分標準】
共有5個測試點。
#include<stdio.h>
int f(int a)
{?? ?
?? ?int b,c=0;
?? ?for(b=1;b<=a;b++)
?? ?{
?? ??? ?if(a%b==0&&b!=a)
?? ??? ?c=c+b;?? ?
?? ?}
?? ?return c;
}
int main()
{
?? ?int m,n,p,q,t=0;
?? ?scanf("%d %d",&m,&n);
? ?? ?for (p=m;p<=n;p++)
?? ?{
?? ??? ?q=f(p);
?? ??? ?if (p==q)
?? ??? ?{
?? ??? ??? ?printf("%d ",p);
?? ??? ??? ?t=1;
?? ??? ?}
?? ?}
?? ?if (t==0)
?? ??? ?printf("No Answer\n");
?? ?return 0;
}
總結
- 上一篇: 【前端】行间样式、内部样式和外链样式,选
- 下一篇: python项目实战分析:爬取时光网电影