1 条题解

  • 0
    @ 2025-4-14 18:43:49

    C :

    #include<stdio.h>
    int main()
    {
    	int	i,m,n,a[100]={0,1,1};
    	scanf("%d",&n);
    	while(n--)
    	{	
    		scanf("%d",&m);
    		for(i=3;i<=m;i++)
    			a[i]=a[i-1]+a[i-3];
    		printf("%d\n",a[m]);
    	}
    	return 0;
    }
    

    C++ :

    
    #include <cstdio>
    #include <iostream>
    #define for1( i , a , b ) for( int i = a ; i <= b ; i++ )
    using namespace std ;
    
    class Jack
    {
    	public:
    		void play() ;
    	protected:
    		int n , a , f[ 55 ];
    		
    } ;
    void Jack::play()
    {
    	//freopen( "in.txt" , "r" , stdin ) ;
    	//freopen( "out.txt" , "w" , stdout ) ;
    	f[ 1 ] = f[ 2 ] = f[ 3 ] = 1 ;
    	for1( i , 4 , 50 ) f[ i ] = f[ i - 1 ] + f[ i - 3 ] ;
    	scanf( "%d" , &n ) ;
    	while( n-- ) {
    		scanf( "%d" , &a ) ;
    		printf( "%d\n" , f[ a ] ) ;
    	}
    }
    int main()
    {
    	Jack J ;
    	J.play() ;
    	return 0 ;
    }
    
    • 1

    信息

    ID
    3378
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者