1 条题解

  • 0
    @ 2025-4-7 21:19:29

    C :

    #include <stdio.h>
    void turn(int a[],int n)
    {
    	int x,i,j,k;
    	scanf("%d",&x);
    	a[0]=0;a[1]=1;
    	for(i=2;i<20;i++)
    		a[i]=a[i-1]+a[i-2];
    	for(i=0;i<x;i++)
    	{
    		for(j=0;j<2*(x-i-1);j++)
    			printf(" ");
    		for(k=0;k<=2*i-1;k++)
    			printf("%d ",a[k]);
    		printf("%d\n",a[k]);
    	}
    }
    int main()
    {
    	int n,a[20],i;
    	scanf("%d",&n);
    	for(i=0;i<n;i++)
      		turn(a,n);
    	return 0;
    }
    

    C++ :

    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    int fun(int n)
    {
        if(n==0)
            return 0;
        else if(n==1)
            return 1;
        else
            return fun(n-1)+fun(n-2);
    }
    
    int main()
    {
        //freopen("test.in", "r", stdin);
        //freopen("test.out", "w", stdout);
        int n, t;
        cin >> t;
        while (t--) {
            cin>>n;
            for(int i=0; i<n; i++)
            {
                for(int j=0; j<(2*n)-(2*i+2); j++)
                    cout<<" ";
                for(int k=0; k<2*i; k++)
                    cout<<fun(k)<<" ";
                cout<<fun(2*i)<<endl;
            }
        }
        return 0;
    }
    
    

    Java :

    import java.util.Scanner;
    
    /**
     * Created with IntelliJ IDEA.
     * User: Worshiper
     * Date: 13-11-2
     * Time: 下午10:17
     */
    public class Main {
        static int[] f = new int[]{0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584};
    
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            int m = in.nextInt();
    
            for (int i = 0; i < m; i++) {
                int n = in.nextInt();
                for (int j = n; j >= 1; j--) {
                    System.out.print(getSpace((j - 1) * 2));
                    for (int k = 0; k <= 2 * (n - j); k++) {
                        if (k == 0) {
                            System.out.print(f[k]);
                            continue;
                        }
    
                        System.out.print(" " + f[k]);
                    }
    
                    System.out.println();
                }
            }
        }
    
        private static String getSpace(int j) {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < j; i++) {
                sb.append(" ");
            }
            return sb.toString();
        }
    }
    
    
    • 1

    信息

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