靠第二题考数列
问世间情为何物 直叫人生死相许
我是用 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]
那是第一题的
这是第二题的
[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]
我比较笨啦,写了第一个题目,并且比较长,不好意思了,不过运行正确。
#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;
}
}