藍橋杯真題(1)

核桃的數量 測試

問題描述

小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。爲鼓舞士氣,小張打算給每一個組發一袋核桃(據傳言能補腦)。他的要求是:spa

1. 各組的核桃數量必須相同設計

2. 各組內必須能平分核桃(固然是不能打碎的)調試

3. 儘可能提供知足1,2條件的最小數量(節約鬧革命嘛)code

輸入格式
輸入包含三個正整數a, b, c,表示每一個組正在加班的人數,用空格分開(a,b,c<30)
輸出格式
輸出一個正整數,表示每袋核桃的數量。
樣例輸入1
2 4 5
樣例輸出1
20
樣例輸入2
3 1 1
樣例輸出2
3
#include<stdio.h>

int f(int a,int b)
{
	int i,t;
	if(b>a)
	{
		t=a;
		a=b;
		b=t;
	}
	for(i=a;;i=i+a)
	{
		if(i%a==0&&i%b==0)break;
	}
	return i;
}

int main()
{
	int a,b,c,r;
	
	scanf("%d%d%d",&a,&b,&c);
	
	r=f(a,b);
	r=f(r,c);
	
	printf("%d\n",r);
	
	return 0;
}

   打印十字圖  blog

複製代碼
/*
問題描述
小明爲某機構設計了一個十字型的徽標(並不是紅十字會啊),以下所示:
..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$..
對方同時也須要在電腦dos窗口中以字符的形式輸出該標誌,並能任意控制層數。
輸入格式
一個正整數 n (n<30) 表示要求打印圖形的層數。
輸出格式
對應包圍層數的該標誌。
樣例輸入1
1
樣例輸出1
..$$$$$..
..$...$..
$$$.$.$$$
$...$...$
$.$$$$$.$
$...$...$
$$$.$.$$$
..$...$..
..$$$$$..
樣例輸入2
3
樣例輸出2
..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$..
提示
請仔細觀察樣例,尤爲要注意句點的數量和輸出位置。


心得體會:打印圖形的題,必定不能急躁,要善於發現圖形的規律,而且按照規律一步一步來,先調試簡單的圖形,而後再網上測試. 

*/


#include<stdio.h>

char a[10000][10000];

int main()
{
    int n,i,j,k,b,r,c,d,t,m;
    scanf("%d",&n);
    
    int row=9+(n-1)*4,cll=row,mid=row/2+1;
    k=n-1;
    for(i=1;i<=row/2;k--)
    {
        m=5+4*k;
        b=(row-m)/2;
    //    if(i%2==1)
    //    {
            a[i][mid]='$';
            for(r=mid+1;r<=row-b;r++)
            {
                a[i][r]=a[i][row-r+1]='$';
            }
            if(b==2)
            {
                a[i][r]=a[i][row-r+1]='.';r++;
                a[i][r]=a[i][row-r+1]='.';r++;
            }
            else
            {
                a[i][r]=a[i][row-r+1]='.';r++;t=r+2;
                for(;r<=t;r++)a[i][r]=a[i][row-r+1]='$';
                for(;r<=row;)
                {
                    a[i][r]=a[i][row-r+1]='.';r++;
                    a[i][r]=a[i][row-r+1]='$';r++;
                }
            }
            i++;
    //    }
    //    else
    //    {
            c=m-2;d=(cll-c)/2;
            if(m==1)
            {
                a[i][mid]='$';r=mid+1;
            }
            else
            {
                a[i][mid]='.';
                for(r=mid+1;r<=row-d;r++)    a[i][r]=a[i][row-r+1]='.';
                a[i][r]=a[i][row-r+1]='$';r++;
            }
            //if(d-1==2)
        //    {
                a[i][r]=a[i][row-r+1]='.';r++;
                a[i][r]=a[i][row-r+1]='.';r++;
        //    }
            
            for(;r<=row;)
            {
                a[i][r]=a[i][row-r+1]='.';r++;
                a[i][r]=a[i][row-r+1]='$';r++;
            }
            
    //    }
    i++;
    }
    
    a[i][mid]='$';
    for(r=mid+1;r<=mid+2;r++)a[i][r]=a[i][row-r+1]='$';
    for(;r<=row;)
    {
        a[i][r]=a[i][row-r+1]='.';r++;
        a[i][r]=a[i][row-r+1]='$';r++;
    }
    
    
    for(i=1;i<=row/2+1;i++)
    {
        for(j=1;j<=cll;j++)
        {
            printf("%c",a[i][j]);
        }
        printf("\n");
    }
    
    for(i=row/2;i>0;i--)
    {
        for(j=1;j<=cll;j++)
        {
            printf("%c",a[i][j]);
        }
        printf("\n");
    }
    
    return 0;
}
相關文章
相關標籤/搜索