第75题 编程计算完数(10分)
🍋题目描述
题目描述:
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。
输入:
测试数据有多组,输入n,n数据范围不大。
输出:
对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。
样例输入:
6
样例输出:
6
#include <stdio.h>
int main(void)
{
int n, i, j;
int count;
int sum;
while (scanf("%d",&n) != EOF)
{
count = 0;
for (j=1; j<=n; j++)
{
sum = 0;
for (i=1; i<=j/2; i++)
{
if (j % i == 0)
sum += i;
}
//printf("sum=%d", sum);
if (sum == j)
{
count ++;
if (count > 1)
printf(" ");
printf("%d", j);
}
}
printf("\n");
}
return 0;
}
/**************************************************************
Problem: 1050
User: liangrx06
Language: C
Result: Accepted
Time:120 ms
Memory:912 kb
****************************************************************/
🍋源代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n=0, i=0, j=0;
int count=0;
int sum=0;
Scanner in=new Scanner(System.in);
while(in.hasNext())
{
count = 0;
for (j=1; j<=n; j++)
{
sum = 0;
for (i=1; i<=j/2; i++)
{
if (j % i == 0)
sum += i;
}
//printf("sum=%d", sum);
if (sum == j)
{
count ++;
if (count > 1)
System.out.print(" ");
System.out.println(j);
}
}
}
}
}
如果这篇文章对你帮助很大,麻烦帮忙,点下友情链接: 鱼儿项目网(直接点这里),进去之后切换几个页面,停留几十秒。感激不尽。本站采集全网自媒体,网赚类,电商营销课程。里面有一些免费项目大家也可以看看