PTA - 使用函数输出指定范围内的完数
程序员文章站
2024-03-05 18:27:55
...
本题需要注意的是:特殊考虑1的情况,以及找到合适的方式输出完数的式子。
int factorsum( int number )
{
int sum=0, i;
if ( number==1 ) {
return number;
}
for ( i=1; i<=number/2; i++ ) {
if ( number%i==0 ) {
sum += i;
}
}
return sum;
}
void PrintPN( int m, int n )
{
int i,j,count=0;
for ( i=m; i<=n; i++ ) {
if ( factorsum(i)==i ) {
int ret=0; //用于判断输出是否结束(即左右式子是否已相等)
count=1;
printf("%d = ", i);
if ( i==1 ) {
printf("%d", i);
}
for ( j=1; j<i; j++ ) {
if( i%j==0 ) {
printf("%d", j);
ret += j;
if ( ret!=i ) {
printf(" + ");
}
}
}
printf("\n");
}
}
if ( count==0 ) {
printf("No perfect number");
}
}
上一篇: Java实现栈和队列面试题
下一篇: Java中的深拷贝和浅拷贝
推荐阅读
-
PTA - 使用函数输出指定范围内的Fibonacci数
-
PTA - 使用函数输出指定范围内的完数
-
PTA - 使用函数输出水仙花数(C语言)
-
php使用date和strtotime函数输出指定日期的方法,datestrtotime
-
MySQL的指定范围随机数函数rand()的使用技巧
-
MySQL的指定范围随机数函数rand()的使用技巧
-
【转载】C#使用Random类来生成指定范围内的随机数
-
php使用date和strtotime函数输出指定日期的方法
-
第6章函数-4 使用函数输出指定范围内Fibonacci数的个数
-
php使用date和strtotime函数输出指定日期的方法,datestrtotime_PHP教程