为啥前20个都可以运行,后面就不行嘞,找了半天没找出来错
#include
int main()
{
int a , x , i , j , k , n ;
long long int m , t , h ;
scanf( "%d" , &x ) ;
a = 1 ;
printf( "%d" , a ) ;
if( x != 1 )
{
printf( "\n%d %d\n" , a , a ) ;
for( i = 2 ; i < x ; i ++ )
{
printf( "%d " , a ) ;
for( j = 1 ; j < i ; j++ )
{
for( k = 1 , t = 1 ; k <= ( i - j ) ; k++ )
{
t *= k ;
}
for( n = i , h = 1 ; n >= ( j + 1 ) ; n-- )
{
h *= n ;
}
m = h / t ;
printf( "%lld " , m ) ;
}
printf( "%d\n" , a ) ;
}
}
return 0 ;
}
你这样写效率有点低
建议用某个值是上一行对应左右两个值之和的思路看看