注册 登录
编程论坛 新人交流区

[求助]求两道编程题的的答案,先谢罗!!

summy 发布于 2007-10-22 12:13, 768 次点击
1、一个数如果恰好等于它的的因子之和,这个数就称为"完全数".例如,6的因子为1和2,
而6=1+2+3,因此6就是“完全数”。编程找出1000之内的所有完全数。

2、有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…,求出这序列
的前20项之和。
34 回复
#2
xiaochen0012007-10-22 12:15
#3
summy2007-10-22 12:30

帮帮忙啊,各位大哥!!!

#4
marc20082007-10-22 12:57
#5
trhack2007-10-22 13:40

我数据结构挂科的人也想知道

#6
svbzero2007-10-22 15:27
#7
psp03752007-10-22 15:33
数列问题
#8
魔女尐燕2007-10-22 15:37
倒。。。。。。。。。。。。



by 雨中飞燕 QQ:78803110 C/C++讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918" target="_blank">https://yzfy.org/
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918
]C++编写的Windows界面游戏[/url]
#9
summy2007-10-22 15:40

我想要的是程序的过程................

#10
魔女尐燕2007-10-22 15:46
你如果只要代码,我论坛就有



by 雨中飞燕 QQ:78803110 C/C++讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918" target="_blank">https://yzfy.org/
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918
]C++编写的Windows界面游戏[/url]
#11
凤非离2007-10-22 15:46

抢什么.这也要抢,大家一起来不就可以.

#12
tuguy832007-10-22 15:52
这个程序几乎是例题,网上到处有下,然后再把数字一改就行了!哈

#13
魔女尐燕2007-10-22 15:53
以下是引用tuguy83在2007-10-22 15:52:26的发言:
这个程序几乎是例题,网上到处有下,然后再把数字一改就行了!哈

这也的确是,不过最好还是自己思考,不管写得怎么样



by 雨中飞燕 QQ:78803110 C/C++讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918" target="_blank">https://yzfy.org/
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918
]C++编写的Windows界面游戏[/url]

#14
凤非离2007-10-22 15:54
就搜完数的C实现.
#15
summy2007-10-22 17:01
放在哪里,说具体点嘛..........
#16
summy2007-10-22 17:20
谢谢罗!!!各位.
#17
坏坏deTong2007-10-22 17:28
#18
Kid_X2007-10-22 19:25
要靠自己
#19
y89328092007-10-22 20:38
有点难!~
#20
shujustice2007-10-22 22:19

int num=1;
while(num<1000)
{
print(num);
for(int i=2;;i++)
{
num=i+num;
}
}
#21
shujustice2007-10-22 22:28

靠第二题考数列

#22
summy2007-10-22 22:32

原来还可以这么简单!!!!

#23
yuwei50002007-10-22 22:36
完全数
【定义】若一个自然数,恰好与除去它本身以外的一切因数的和相等,这种数叫做完全数。
例如,6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124
8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064
【疑难问题】(1)到底有多少完全数?寻找完全数并不是容易的事。经过不少数学家研究,到目前为止,一共找到了40多个完全数。(2)有没有奇完全数?奇怪的是,已发现的44个完全数都是偶数,会不会有奇完全数存在呢?如果存在,它必须大于10^120。
至今无人能回答这些问题。
【公式】大数学家欧几里德曾推算出完全数的获得公式:如果2^p-1质数,那么(2^p-1)2^(p-1)便是一个完全数。p=2,2^p-1=3是质数,(2^p-1)2^(p-1)=3X2=6p=3,2^p-1=7是质数,(2^p-1)2^(p-1)=7X4=28但是2^p-1什么条件下才是质数呢?
当2^p-1是质数的时候,称其为梅森素数!顾名思义,就是梅森第一个系统地研究这种形式的素数的!事实上,至今为止,人类只发现了43个梅森素数,也就是只发现了43个完全数!

#24
TLZL2007-10-22 22:43
挺简单的  好好想想吧
#25
DaTun2007-10-22 22:46

问一下:
第一个题目是不是给错了,按这样说6也应该是因子
如果是质因数则不应该包括1

#26
yuwei50002007-10-23 22:35

我是用 c# 写的

[CODE]using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int s = 0;
for (int i = 1; i <= 1000;i++ )
{
s = 0;
for (int j = 1; j < i; j++)
{
if(i%j==0)
{
s = s + j;
}
}
if(s==i)
{
Console.Write("{0,-5}", i);
}

}
Console.Read();
}
}
}[/CODE]

那是第一题的

#27
yuwei50002007-10-23 22:37

这是第二题的

[CODE]using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
double a = 1, b = 2;
double s = 0;
for (int i = 1; i <= 20; i++)
{
s =s+ b / a;
double temp;
temp = a + b;
a = b;
b = temp;
}
Console.WriteLine(s);
Console.Read();
}
}
}[/CODE]


#28
yuwei50002007-10-23 22:39
回复:(DaTun)问一下:第一个题目是不是给错了,按这...
不是的,虽然 6 是因子,但是除去 它本身
#29
dodober2007-10-24 10:52

我比较笨啦,写了第一个题目,并且比较长,不好意思了,不过运行正确。
#include <stdio.h>
#include <stdlib.h>
#define STACK_INIT_SIZE 10
#define STACKINCREMENT 10
typedef struct
{
int *base;
int *top;
int sizeofstack;
}SqStack;
int push(SqStack &s,int i)
{
if(s.top - s.base>=s.sizeofstack )
{
s.base = (int *)realloc(s.base, (s.sizeofstack+STACKINCREMENT) * sizeof(int));
if(!s.base)
exit(0);
s.top=s.base +s.sizeofstack;
s.sizeofstack+=STACKINCREMENT;
}
*s.top=i;
s.top++;
return 1;
}
int pop(SqStack &l,int &e)
{
if(l.base==l.top)
return 0;
l.top--;
e=*l.top;

return 1;

}
int InitStack(SqStack &l)
{
l.base =(int *)malloc(STACK_INIT_SIZE*sizeof(int));
if(!l.base)
exit(0);
l.top =l.base ;
l.sizeofstack=STACK_INIT_SIZE;
return 1;
}
void main()
{
SqStack l;
int temp=0;
int e=0;
InitStack(l);
for(int i=1;i<10001;i++)
{
for(int j=1;j<=i/2;j++)
{
if(i%j==0)
{
push(l,j);
}
}
while(l.base!=l.top)
{
if(pop(l,e))
temp+=e;
}
if (i==temp)
printf("%d ",i);
temp=0;
}
}

#30
hczsea2007-10-24 11:06
for (itemp=1; itemp<1000; itemp++)
{
ktemp = 0;
for (jtemp=1; jtemp<itemp; jtemp++)
{
if ((itemp%jtemp) == 0)
arr[ktemp++] = jtemp;
}
sum = 0;
for (ltemp=0; ltemp<ktemp; ltemp++)
{
sum += arr[ltemp];
}
if (sum == itemp)
printf(itemp);
}

这样可以吗
#31
andykang2007-10-24 11:16
楼上的MS太长了,估计有很少人会看懂的。
#32
yeyun2007-10-24 11:28
是不是作业了??/
#33
八桂浪子2007-10-24 13:27

网上一查,到处都有.

#34
liuyg2007-10-24 15:29
#35
zybin2007-10-24 15:36
回复:(summy)[求助]求两道编程题的的答案,先谢罗!!...
1