1 solutions

  • 0
    @ 2025-11-5 14:58:03

    C :

    #include <stdio.h>
    #define N 200000
    
    int main()
    {
        char* sinA = "sin(%d%s%s)";
        char* Sa = "%s+%d";
        char* S = "(%s)%s";
        char An[N] = "sin(1%s%s)", An2[N], An3[N], Sn[N] = "sin(1)+%d", Sn2[N];
        int i, j, n;
        scanf("%d", &n);
        sprintf(Sn2, Sn, n);
        strcpy(Sn, Sn2);
        for (i = 2; i <= n; i++)
        {
            sprintf(An2, An, i % 2 == 0 ? "-" : "+", sinA);
            strcpy(An, An2);
            sprintf(An2, An, i, "%s", "%s");
            strcpy(An, An2);
            sprintf(An2, Sa, An, n - i + 1);
            sprintf(An3, An2, "", "");
            sprintf(Sn2, S, Sn, An3);
            strcpy(Sn, Sn2);
            sprintf(Sn2, Sn, n - i+ 1);
            strcpy(Sn, Sn2);
        }
        printf("%s", Sn);
        return 0;
    }
    
    

    C++ :

    
    #include <stdio.h>
    #include <string.h>
    #define N 200000
    
    int main()
    {
        char* sinA = "sin(%d%s%s)";
        char* Sa = "%s+%d";
        char* S = "(%s)%s";
        char An[N] = "sin(1%s%s)", An2[N], An3[N], Sn[N] = "sin(1)+%d", Sn2[N];
        int i, j, n;
        scanf("%d", &n);
        sprintf(Sn2, Sn, n);
        strcpy(Sn, Sn2);
        for (i = 2; i <= n; i++)
        {
            sprintf(An2, An, i % 2 == 0 ? "-" : "+", sinA);
            strcpy(An, An2);
            sprintf(An2, An, i, "%s", "%s");
            strcpy(An, An2);
            sprintf(An2, Sa, An, n - i + 1);
            sprintf(An3, An2, "", "");
            sprintf(Sn2, S, Sn, An3);
            strcpy(Sn, Sn2);
            sprintf(Sn2, Sn, n - i+ 1);
            strcpy(Sn, Sn2);
        }
        printf("%s", Sn);
        return 0;
    }
    //((sing(1)+3)sin(1-sin(2)+2)sin(1-sin(2+sin(3))))+1
    
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		int n = in.nextInt();
    		for(int i=1;i<n;i++){
    			System.out.print("(");
    		}
    		String s = f2(1,n);
    		System.out.print(s.substring(0, s.length()-1));
    		
    
    	}
    	public static String f(int i,int n){
    		if(n==1) return "sin(1)";
    		if(i-1==n) return "";
    		if(f(i+1,n).equals("")){
    			if(i%2==1) return "sin("+i+f(i+1,n)+")";
    			else return "sin("+i+f(i+1,n)+")";
    		}
    		if(i%2==1) return "sin("+i+"-"+f(i+1,n)+")";
    		else return "sin("+i+"+"+f(i+1,n)+")";
    	}
    	public static String f2(int i,int n){
    		if(n==0) return "";
    		if(i%2==1) return f(1,i)+"+"+n+")"+f2(i+1,n-1);
    		else return f(1,i)+"+"+n+")"+f2(i+1,n-1);
    	}
    }
    
    
    • 1

    Information

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