解题思路:
注意事项:
参考代码:
#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 人评分
C语言程序设计教程(第三版)课后习题6.3 (Java代码)浏览:650 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:592 |
有关字符,字符串的输入输出函数说明浏览:479 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1909 |
矩形面积交 (C++代码)浏览:1127 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1420 |
C语言训练-自守数问题 (C语言代码)浏览:740 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:574 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:382 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:1286 |