# include <stdio.h> # include <math.h> int main(void)

2024年11月17日 03:08
有2个网友回答
网友(1):

这个程序的作用是求出1到1000内的完全数(除本身外所有因数之和等于本身的数)
一下是一些注释
#include
#include
#include

void main()
{
int i,n,m,k,p=0;
int a[100],b[100]; //a数组记录因数,b数组貌似没有用到
for(n=1;n<=1000;n++) //主循环,判断n是否完全数
{
k=0;m=0;
for(i=2;i<=sqrt(n);i++) //寻找n的因数,因为n的因数是成对的,且有一半小于√n,即若i是n的因数,则n/i也是n的因数,因此只需枚举到√n
{
if(n%i==0)
{
a[k]=i; //记录因数i
k++;
if(i!=sqrt(n)){a[k]=n/i;k++;} //记录因数n/i,如果i=√n,则n/i=i,此时不应再记录n/i,否则重复
}
}
for(i=0;i if(m+1==n) cout< }
}

网友(2):

因为 delta = 36*36 - 4 * 45 * 14 = -1224,所以第一个 if (false),第二个 if (你这里写的是 赋值运算符) delta 为 0 还是 false, 第三个 好吧 还是 false 当然 所有的 printf 都不会执行