解题思路:
注意事项:
参考代码:
#include <stdio.h>
int main()
{
long double N, sum = 0;
int factor[100], x = 0;
scanf( "%Lf", &N );
for ( int i = 6; i <= N; i++ ) //完数i从6开始到N结束
{
if ( i % 10 == 6 || i % 10 == 8 ) //判断是否完数i的个位是6或者是8
{
for ( int j = 1; j <= i / 2; j++ ) //完数的因子j从1开始到完数的一半结束
{
if ( i % j == 0 ) //判断是否完数取余因子等于零
{
factor[x] = j; //将因子j赋值给变量factor[x]
x++; //x自增
sum = sum + j; //将总和sum加上因子j赋值给变量sum
}
}
if ( sum == i ) //判断是否sum等于i
{
printf( "%d its factors are ", i );//输出i
for ( int k = 0; k < x; k++ ) //k从0开始到x结束
{
printf( "%d ", factor[k] ); //输出factor[x]
}
printf( "\n" ); //输出换行
}
sum = 0; //将0赋值给变量sum
x = 0; //将0赋值给变量x
}
}
return(0);
}
0.0分
0 人评分
不容易系列2 (C语言代码)浏览:641 |
求组合数 (C语言代码)浏览:1206 |
WU-蓝桥杯算法提高VIP-勾股数 (C++代码)浏览:1685 |
WU-输入输出格式练习 (C++代码)浏览:1133 |
WU-输出正反三角形 (C++代码)浏览:1099 |
DNA (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:388 |
1642题解浏览:784 |
1124题解浏览:630 |
C二级辅导-同因查找 (C语言代码)浏览:618 |