`
kmplayer
  • 浏览: 498459 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

童年的回忆:字母金字塔

J# 
阅读更多
1,论坛上有个问到这个蛋疼的题目,然后各位大神各显神通.
(1)递归实现,tmp函数对递归常量的巧妙封装.
#include <iostream>
using namespace std;

const int LETTER=0x41;

void z2a(int m)
{
     if(m<0)
         return;
     cout<<char(LETTER+m);
     z2a(m-1);
}
void tmp(int n, const int m)
{
     if(n>=m)
         return;
     cout<<char(LETTER+n);
     tmp(n+1, m);
}

void a2z(int m)
{
     tmp(0, m); //实现了常量m的封装
}

void iter(int n, const int MAX)
{
     if(MAX==n)
         return;
     cout.width(MAX-n);
     a2z(n);
     z2a(n);
     cout<<endl;
     iter(n+1, MAX);
}


int main()
{
     unsigned int max;
     cout<<"Plz input a number (<=26):";
     cin>>max;
     iter(0,max);
     return 0;
}


(2)传统的for循环
#include <iostream>
using namespace std;

int main()
{
     int ch;
     cout<<"Plz input a number (<=26):";
     cin>>ch;
     for (int i = 0; i <ch; i++)
     {
         for (int j = 1; j < ch - i; j++)
             putchar(' ');
         for (int j = 0; j <= i; j++)
             putchar(j+'A');
         for (int j = i - 1; j >= 0; j--)
             putchar(j+'A');
         putchar('\n');
     }
     return 0;
}

(3)巧妙利用坐标的关系
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,i,j;
    scanf("%d",&n);
    for(i=-n;i<0;i++)
    {
        for(j=-n+1;j<=n-1;j++)
        {
            int dist = abs(i)+abs(j);
            int chr = n-dist+'A';
            printf("%c", chr>='A'?chr:' ');
        }
        printf("\n");
    }
    return 0;
}

(4)特别蛋疼
#include<stdio.h>
#include<stdlib.h>

static char* answers[] = {"A\n", " A\nABA\n", "  A\n ABA\nABCBA\n", "   A\n  ABA\n ABCBA\nABCDCBA\n", "    A\n   ABA\n  ABCBA\n ABCDCBA\nABCDEDCBA\n", "     A\n    ABA\n   ABCBA\n  ABCDCBA\n ABCDEDCBA\nABCDEFEDCBA\n", "      A\n     ABA\n    ABCBA\n   ABCDCBA\n  ABCDEDCBA\n ABCDEFEDCBA\nABCDEFGFEDCBA\n", "       A\n      ABA\n     ABCBA\n    ABCDCBA\n   ABCDEDCBA\n  ABCDEFEDCBA\n ABCDEFGFEDCBA\nABCDEFGHGFEDCBA\n", "        A\n       ABA\n      ABCBA\n     ABCDCBA\n    ABCDEDCBA\n   ABCDEFEDCBA\n  ABCDEFGFEDCBA\n ABCDEFGHGFEDCBA\nABCDEFGHIHGFEDCBA\n", "         A\n        ABA\n       ABCBA\n      ABCDCBA\n     ABCDEDCBA\n    ABCDEFEDCBA\n   ABCDEFGFEDCBA\n  ABCDEFGHGFEDCBA\n ABCDEFGHIHGFEDCBA\nABCDEFGHIJIHGFEDCBA\n", "          A\n         ABA\n        ABCBA\n       ABCDCBA\n      ABCDEDCBA\n     ABCDEFEDCBA\n    ABCDEFGFEDCBA\n   ABCDEFGHGFEDCBA\n  ABCDEFGHIHGFEDCBA\n ABCDEFGHIJIHGFEDCBA\nABCDEFGHIJKJIHGFEDCBA\n", "           A\n          ABA\n         ABCBA\n        ABCDCBA\n       ABCDEDCBA\n      ABCDEFEDCBA\n     ABCDEFGFEDCBA\n    ABCDEFGHGFEDCBA\n   ABCDEFGHIHGFEDCBA\n  ABCDEFGHIJIHGFEDCBA\n ABCDEFGHIJKJIHGFEDCBA\nABCDEFGHIJKLKJIHGFEDCBA\n", "            A\n           ABA\n          ABCBA\n         ABCDCBA\n        ABCDEDCBA\n       ABCDEFEDCBA\n      ABCDEFGFEDCBA\n     ABCDEFGHGFEDCBA\n    ABCDEFGHIHGFEDCBA\n   ABCDEFGHIJIHGFEDCBA\n  ABCDEFGHIJKJIHGFEDCBA\n ABCDEFGHIJKLKJIHGFEDCBA\nABCDEFGHIJKLMLKJIHGFEDCBA\n", "             A\n            ABA\n           ABCBA\n          ABCDCBA\n         ABCDEDCBA\n        ABCDEFEDCBA\n       ABCDEFGFEDCBA\n      ABCDEFGHGFEDCBA\n     ABCDEFGHIHGFEDCBA\n    ABCDEFGHIJIHGFEDCBA\n   ABCDEFGHIJKJIHGFEDCBA\n  ABCDEFGHIJKLKJIHGFEDCBA\n ABCDEFGHIJKLMLKJIHGFEDCBA\nABCDEFGHIJKLMNMLKJIHGFEDCBA\n", "              A\n             ABA\n            ABCBA\n           ABCDCBA\n          ABCDEDCBA\n         ABCDEFEDCBA\n        ABCDEFGFEDCBA\n       ABCDEFGHGFEDCBA\n      ABCDEFGHIHGFEDCBA\n     ABCDEFGHIJIHGFEDCBA\n    ABCDEFGHIJKJIHGFEDCBA\n   ABCDEFGHIJKLKJIHGFEDCBA\n  ABCDEFGHIJKLMLKJIHGFEDCBA\n ABCDEFGHIJKLMNMLKJIHGFEDCBA\nABCDEFGHIJKLMNONMLKJIHGFEDCBA\n", "               A\n              ABA\n             ABCBA\n            ABCDCBA\n           ABCDEDCBA\n          ABCDEFEDCBA\n         ABCDEFGFEDCBA\n        ABCDEFGHGFEDCBA\n       ABCDEFGHIHGFEDCBA\n      ABCDEFGHIJIHGFEDCBA\n     ABCDEFGHIJKJIHGFEDCBA\n    ABCDEFGHIJKLKJIHGFEDCBA\n   ABCDEFGHIJKLMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNMLKJIHGFEDCBA\n ABCDEFGHIJKLMNONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n", "                A\n               ABA\n              ABCBA\n             ABCDCBA\n            ABCDEDCBA\n           ABCDEFEDCBA\n          ABCDEFGFEDCBA\n         ABCDEFGHGFEDCBA\n        ABCDEFGHIHGFEDCBA\n       ABCDEFGHIJIHGFEDCBA\n      ABCDEFGHIJKJIHGFEDCBA\n     ABCDEFGHIJKLKJIHGFEDCBA\n    ABCDEFGHIJKLMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\n", "                 A\n                ABA\n               ABCBA\n              ABCDCBA\n             ABCDEDCBA\n            ABCDEFEDCBA\n           ABCDEFGFEDCBA\n          ABCDEFGHGFEDCBA\n         ABCDEFGHIHGFEDCBA\n        ABCDEFGHIJIHGFEDCBA\n       ABCDEFGHIJKJIHGFEDCBA\n      ABCDEFGHIJKLKJIHGFEDCBA\n     ABCDEFGHIJKLMLKJIHGFEDCBA\n    ABCDEFGHIJKLMNMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA\n", "                  A\n                 ABA\n                ABCBA\n               ABCDCBA\n              ABCDEDCBA\n             ABCDEFEDCBA\n            ABCDEFGFEDCBA\n           ABCDEFGHGFEDCBA\n          ABCDEFGHIHGFEDCBA\n         ABCDEFGHIJIHGFEDCBA\n        ABCDEFGHIJKJIHGFEDCBA\n       ABCDEFGHIJKLKJIHGFEDCBA\n      ABCDEFGHIJKLMLKJIHGFEDCBA\n     ABCDEFGHIJKLMNMLKJIHGFEDCBA\n    ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA\n", "                   A\n                  ABA\n                 ABCBA\n                ABCDCBA\n               ABCDEDCBA\n              ABCDEFEDCBA\n             ABCDEFGFEDCBA\n            ABCDEFGHGFEDCBA\n           ABCDEFGHIHGFEDCBA\n          ABCDEFGHIJIHGFEDCBA\n         ABCDEFGHIJKJIHGFEDCBA\n        ABCDEFGHIJKLKJIHGFEDCBA\n       ABCDEFGHIJKLMLKJIHGFEDCBA\n      ABCDEFGHIJKLMNMLKJIHGFEDCBA\n     ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n    ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA\n", "                    A\n                   ABA\n                  ABCBA\n                 ABCDCBA\n                ABCDEDCBA\n               ABCDEFEDCBA\n              ABCDEFGFEDCBA\n             ABCDEFGHGFEDCBA\n            ABCDEFGHIHGFEDCBA\n           ABCDEFGHIJIHGFEDCBA\n          ABCDEFGHIJKJIHGFEDCBA\n         ABCDEFGHIJKLKJIHGFEDCBA\n        ABCDEFGHIJKLMLKJIHGFEDCBA\n       ABCDEFGHIJKLMNMLKJIHGFEDCBA\n      ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n     ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n    ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA\n", "                     A\n                    ABA\n                   ABCBA\n                  ABCDCBA\n                 ABCDEDCBA\n                ABCDEFEDCBA\n               ABCDEFGFEDCBA\n              ABCDEFGHGFEDCBA\n             ABCDEFGHIHGFEDCBA\n            ABCDEFGHIJIHGFEDCBA\n           ABCDEFGHIJKJIHGFEDCBA\n          ABCDEFGHIJKLKJIHGFEDCBA\n         ABCDEFGHIJKLMLKJIHGFEDCBA\n        ABCDEFGHIJKLMNMLKJIHGFEDCBA\n       ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n      ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n     ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\n    ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA\n", "                      A\n                     ABA\n                    ABCBA\n                   ABCDCBA\n                  ABCDEDCBA\n                 ABCDEFEDCBA\n                ABCDEFGFEDCBA\n               ABCDEFGHGFEDCBA\n              ABCDEFGHIHGFEDCBA\n             ABCDEFGHIJIHGFEDCBA\n            ABCDEFGHIJKJIHGFEDCBA\n           ABCDEFGHIJKLKJIHGFEDCBA\n          ABCDEFGHIJKLMLKJIHGFEDCBA\n         ABCDEFGHIJKLMNMLKJIHGFEDCBA\n        ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n       ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n      ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\n     ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA\n    ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA\n", "                       A\n                      ABA\n                     ABCBA\n                    ABCDCBA\n                   ABCDEDCBA\n                  ABCDEFEDCBA\n                 ABCDEFGFEDCBA\n                ABCDEFGHGFEDCBA\n               ABCDEFGHIHGFEDCBA\n              ABCDEFGHIJIHGFEDCBA\n             ABCDEFGHIJKJIHGFEDCBA\n            ABCDEFGHIJKLKJIHGFEDCBA\n           ABCDEFGHIJKLMLKJIHGFEDCBA\n          ABCDEFGHIJKLMNMLKJIHGFEDCBA\n         ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n        ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n       ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\n      ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA\n     ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA\n    ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA\n", "                        A\n                       ABA\n                      ABCBA\n                     ABCDCBA\n                    ABCDEDCBA\n                   ABCDEFEDCBA\n                  ABCDEFGFEDCBA\n                 ABCDEFGHGFEDCBA\n                ABCDEFGHIHGFEDCBA\n               ABCDEFGHIJIHGFEDCBA\n              ABCDEFGHIJKJIHGFEDCBA\n             ABCDEFGHIJKLKJIHGFEDCBA\n            ABCDEFGHIJKLMLKJIHGFEDCBA\n           ABCDEFGHIJKLMNMLKJIHGFEDCBA\n          ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n         ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n        ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\n       ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA\n      ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA\n     ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA\n    ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA\n", "                         A\n                        ABA\n                       ABCBA\n                      ABCDCBA\n                     ABCDEDCBA\n                    ABCDEFEDCBA\n                   ABCDEFGFEDCBA\n                  ABCDEFGHGFEDCBA\n                 ABCDEFGHIHGFEDCBA\n                ABCDEFGHIJIHGFEDCBA\n               ABCDEFGHIJKJIHGFEDCBA\n              ABCDEFGHIJKLKJIHGFEDCBA\n             ABCDEFGHIJKLMLKJIHGFEDCBA\n            ABCDEFGHIJKLMNMLKJIHGFEDCBA\n           ABCDEFGHIJKLMNONMLKJIHGFEDCBA\n          ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA\n         ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA\n        ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA\n       ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA\n      ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA\n     ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA\n    ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA\n   ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA\n  ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA\n ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA\nABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA\n"};

int main()
{
    int n;
    scanf("%d",&n);
    printf(answers[n-1]);
    return 0;
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics