黑马程序员技术交流社区
标题:
不会写完数,麻烦写上注释
[打印本页]
作者:
陆习康
时间:
2014-7-28 14:22
标题:
不会写完数,麻烦写上注释
网上看了不少代码,可看不懂,求解,1000以内的完数,打印出来
作者:
道本真
时间:
2014-7-28 15:00
int main ()
{
//定义一个数,该数是我们要查找的范围
int num1 = 1000 ;
//顶一个和变量,代表因子之和
int sum;
//历遍我们要查找的范围,找完数
for (int i = 1; i <= num1 ;i++)
{
sum = 0;
//求每个数的因子之和
for (int j=1;j<=i/2; j++)
{
if (i%j==0)
{
sum+=j;
}
}
if (i == sum)//如果这个数与这个数的因子之和相等,则输出
{
printf("属于完数的值有:%d\n", i);
}
}
return 0;
}
复制代码
作者:
hdchenyue
时间:
2014-7-28 15:49
编写一个Java程序,输出任意数之间的所有完数。*/
* 程序头部的注释结束
*/
public class TestComNum {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("1000以内的完数有:");
printComNum(1000);
}
static void printComNum(int n){
for(int i = 1; i <= n; i++)
{
int sum = 0;
for(int j = 1; j < i; j++)
{
if(i % j == 0)
{
sum = sum + j;
}
}
if(sum == i)
{
System.out.println(i);
}
}
}
}
作者:
陆习康
时间:
2014-7-30 17:01
道本真 发表于 2014-7-28 15:00
多谢了,看来我还是要好好学习学习,免得以后学习的时候纠结
作者:
温天恩
时间:
2014-8-2 18:13
#include <stdio.h>
int main()
{
// 从1000以内查找完美数
for (int i = 2; i <= 1000; i++)
{
// 定义一个数来存放因子的和
int sum = 0;
// 查找小于数本身的因子,并求和
for(int j = 1; j < i; j++)
{
if (i % j == 0)
{
sum += j;
}
}
// 如果因子和等于本身,则输出为完美数
if (sum == i)
{
printf("%d是一个完美数!\n", i);
}
}
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2