为什么我的算法精确的很低,而且速度很慢!!各位大哥帮忙改改!!
using System;namespace pzi
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
const int MAX=1002;
static void Main(string[] args)
{
int[] x=new int[MAX];
int[] y=new int[MAX];
int i,j,k,con,flag;
con=1;
flag=1;
for(i=1;i<MAX;i++)
{
y[i]=0;
}
while(con<MAX)
{
j=4;
for(i=1;i<MAX;i++)
{
x[i]=j/(con*2-1);
k=j%(con*2-1);
j=k*10;
//Console.Write(x[i]);
}
if(flag>0)
{
for(i=MAX-1;i>0;i--)
{
y[i]=y[i]+x[i];
if(y[i]>10)
{
y[i]=y[i]%10;
y[i-1]++;
}
}
}
else
{
for(i=MAX-1;i>0;i--)
{
if(y[i]>x[i])
y[i]=y[i]-x[i];
else
{
y[i]=y[i]+10;
y[i]=y[i]-x[i];
y[i-1]--;
}
}
}
for(i=1;i<MAX;i++)
Console.Write(y[i]);
flag=-(flag);
con++;
Console.WriteLine();
}
Console.Read();
}
}
}
using System;namespace pzi
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
const int MAX=1002;
static void Main(string[] args)
{
int[] x=new int[MAX];
int[] y=new int[MAX];
int i,j,k,con,flag;
con=1;
flag=1;
for(i=1;i<MAX;i++)
{
y[i]=0;
}
while(con<MAX)
{
j=4;
for(i=1;i<MAX;i++)
{
x[i]=j/(con*2-1);
k=j%(con*2-1);
j=k*10;
//Console.Write(x[i]);
}
if(flag>0)
{
for(i=MAX-1;i>0;i--)
{
y[i]=y[i]+x[i];
if(y[i]>10)
{
y[i]=y[i]%10;
y[i-1]++;
}
}
}
else
{
for(i=MAX-1;i>0;i--)
{
if(y[i]>x[i])
y[i]=y[i]-x[i];
else
{
y[i]=y[i]+10;
y[i]=y[i]-x[i];
y[i-1]--;
}
}
}
for(i=1;i<MAX;i++)
Console.Write(y[i]);
flag=-(flag);
con++;
Console.WriteLine();
}
Console.Read();
}
}
}
using System;namespace pzi
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
const int MAX=1002;
static void Main(string[] args)
{
int[] x=new int[MAX];
int[] y=new int[MAX];
int i,j,k,con,flag;
con=1;
flag=1;
for(i=1;i<MAX;i++)
{
y[i]=0;
}
while(con<MAX)
{
j=4;
for(i=1;i<MAX;i++)
{
x[i]=j/(con*2-1);
k=j%(con*2-1);
j=k*10;
//Console.Write(x[i]);
}
if(flag>0)
{
for(i=MAX-1;i>0;i--)
{
y[i]=y[i]+x[i];
if(y[i]>10)
{
y[i]=y[i]%10;
y[i-1]++;
}
}
}
else
{
for(i=MAX-1;i>0;i--)
{
if(y[i]>x[i])
y[i]=y[i]-x[i];
else
{
y[i]=y[i]+10;
y[i]=y[i]-x[i];
y[i-1]--;
}
}
}
for(i=1;i<MAX;i++)
Console.Write(y[i]);
flag=-(flag);
con++;
Console.WriteLine(); //这儿没参数啊?!
}
Console.Read();
}
}
}