1 solutions

  • 0
    @ 2025-3-3 16:33:40

    C :

    #include <stdio.h>
    #include <stdlib.h>
    int f(int n)
    {
        int i,r=1,m;
        if(n%3==0)
        {
            if(n==0)
            {
                return 0;
            }
            for(i=1;i<=n/3;i++)
            {
                r=r*4;
            }
            return r;
        }
        else if(n%3==1)
        {
            if(n==1)
            {
                return 1;
            }
            else
            {
                r=f(n-1);
                r=r*1+n-1;
                return r;
            }
        }
        else if(n%3==2)
        {
            if(n==2)
            {
                return 2;
            }
            else
            {
                r=f(n-2);
                r=r*2+n;
                return r;
            }
        }
    }
    int main()
    {
        int a,n=0;
        scanf("%d",&a);
        n=f(a);
        printf("%d",n);
        return 0;
    }
    

    C++ :

    
    #include<iostream>
    using namespace std;
     
    int main(){
    	long long a,b,c,x,n,i;
    	cin>>n;
    	a = 1;
    	b = 2;
    	c = 4;
    	if(n == 1){
    		cout<<1<<endl;
    	}else if(n == 2){
    		cout<<2<<endl;
    	}else if(n == 3){
    		cout<<4<<endl;
    	}else{
    		for(i = 4;i <= n;i++){
    			x = a + b + c;
    			a = b;
    			b = c;
    			c = x;
    		}
    		cout<<x<<endl;
    	}
    	
    	return 0;
    }
    

    Python :

    n=int(input())
    a=[0 for i in range(n+1)]
    for i in range(1,n+1):
        if(i==1):
            a[1]=1
        elif(i==2):
            a[2]=2
        elif(i==3):
            a[3]=4
        else:
            a[i]=a[i-1]+a[i-2]+a[i-3]
    print(a[n])
    
    • 1

    Information

    ID
    10676
    Time
    1000ms
    Memory
    16MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By