#include "stdio.h"

int wanshu(int n) { int x = 0, i; for(i = 1; i <= n/2; i++) { if(n % i == 0) //判断i是否为n的因子 { x = x + i; //累加因子 } } if(x == n) //判断是否为完数 { return 1; } else { return 0; } }

int main() { int n; for(n = 1; n <= 1000; n++) { if(wanshu(n) == 1) { printf("%d\n", n); } } return 0; }

如果一个数恰好等于它的因子除自身外之和这个数就称为完数。例如6的因子是1、2、3而6=1+2+3因此6是完数。编写函数判断一个数是否为完数如果是完数函数值为1否则函数值为0。在主函数中调用该函数找出1000以内的全部完数。#include stdiohint wanshuint n int xi; 1 ; fori=1;i=n2;i++

原文地址: https://www.cveoy.top/t/topic/eEGy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录