用C语言编写程序从键盘输入一个正整数数n,输出n,是什么情况?

如题所述

第1个回答  2022-11-16

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

void main()

{

int a;

char str1[200];

printf("Please input a integer: "); scanf("%d", &a);

itoa(a, str1, 10);

printf("The length of integer=%d", strlen(str1));

}

C语言实现如下:

#include<stdio.h>

void main()

{

int i,j,k,n;

scanf("%d",&n);  //输入一个正整数n

for(i=2;i<=n;i++)

{

k=0;

for(j=1;j<=i-1;j++)

if(i%j==0) k+=j;

if(k==i) printf("%d\n",i);

//判断i的所有真因子之和是否等于i,是则输出i。

}

}

注意:建议n的取值小于10000,否则程序运行的时间将比较长。

知识扩展:完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。

相似回答