#include<math.h>
#define SIZE 31
int initializtion()
int calculate(int x,int y)
int print()
int rmove()
int total(int n)
int Q[SIZE],i,n,tmp
unsigned long j
void main()
{
initializtion()
for(j=0j<total(n)-1j++)
{
tmp=calculate(Q[n-1],Q[n-2])
rmove()
Q[0]=tmp
print()
}
getch()
}
int initializtion()
{
printf("welcome\n")
printf("pliease Input n (n<=30) (Tj copyringht):")
scanf("%d",&n)
Q[n]='\0'
for(i=0i<ni++)
Q[i]=1
for(i=0i<ni++)
printf("Q%d",i+1)
printf("\n")
for(i=0i<ni++)
printf(" %d",Q[i])
printf("\n")
return(0)
}
int calculate(int x,int y)
{
int temp
temp=x+y
switch(temp)
{
case0: temp=0break
case1: temp=1break
case2: temp=0break
}
return(temp)
}
int print()
{
for(i=0i<ni++)
printf(" %d",Q[i])
printf("\n")
return(0)
}
int rmove()
{
for(i=ni>1i--)
Q[i-1]=Q[i-2]
return(0)
}
int total(int n)
{
unsigned long x
x=pow(2,n)
return(x)
}
可以试下,看看
你是说要产生随机序列吗?#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{int i
int[M](m的值自己定)
for(i=0i<Mi++)
srand( (unsigned)time( NULL ) )
int[i]=rand()
}
以上这个函数可以实现了
这里给你扩展学习下 用random也可以产生
还告诉你srand( (unsigned)time( NULL ) )是干什么用的。
#include <stdlib.h>
main()
{
int a[100],i/*定义数组存放100个数*/
for(i=0i<100i++)
a[i]=random(100)/*产生100以内的数*/
for(i=0i<100i++)
printf("%d ",a[i])/*打印输入*/
getch()
}
在C语言函数库中包含了一个产生随机数的函数:
int rand( void )
函数int rand( void )返回的是一个界于0~32767(0x7FFF)之
间的伪随机数,包括0和32767。注意,这里产生的是伪随机数,不是真正意
义上的随机数,看下面的程序:
#include "stdlib.h"
#include "stdio.h"
void main( void )
{
/* Display a number. */
printf( " %6d\n", rand() )
getchar()
}
程序运行的结果是:
346
多次运行这个程序,发现每次产生的结果都是346(不同的机器可能产生
的结果不一样),这就是所谓的伪随机数。伪随机数是通过一个公式来运算
出来的,所以,每次产生的伪随机数都一样。那么,如何才能产生真正意义
上的随机数呢?这就有一个随机种子的问题。在C语言标准函数库中,有这
么一个函数:
void srand( unsigned int seed )
要产生真正意义上的随机数,那么就要求每次提供的种子不一样,一
般情况下,都设置时间为随机函数的种子。看下面的一段程序:
#include "stdlib.h"
#include "stdio.h"
#include "time.h"
void main( void )
{
int i
/* Seed the random-number generator with current time so that
the numbers will be different every time we run.
将当前时间设置成随机函数的种子,所以每次产生的数都不一样
*/
srand( (unsigned)time( NULL ) )
/* Display 10 numbers. */
for( i = 0i <10i++ )
printf( “ %6d\n”, rand() )
}
Output
6929
8026
21987
30734
20587
6699
22034
25051
7988
10104
每次运行这个程序,产生的随机数都不一样,这样就达到了随机数的要求了