蓝桥杯真题(1)

核桃的数量 

问题描述

小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:

1. 各组的核桃数量必须相同

2. 各组内必须能平分核桃(当然是不能打碎的)

3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)

输入格式
输入包含三个正整数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;

}

   打印十字图  

蓝桥杯真题(1) 蓝桥杯真题(1)
蓝桥杯真题(1)
/*

问题描述

小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:

..$$$$$$$$$$$$$..

..$...........$..

$$$.$$$$$$$$$.$$$

$...$.......$...$

$.$$$.$$$$$.$$$.$

$.$...$...$...$.$

$.$.$$$.$.$$$.$.$

$.$.$...$...$.$.$

$.$.$.$$$$$.$.$.$

$.$.$...$...$.$.$

$.$.$$$.$.$$$.$.$

$.$...$...$...$.$

$.$$$.$$$$$.$$$.$

$...$.......$...$

$$$.$$$$$$$$$.$$$

..$...........$..

..$$$$$$$$$$$$$..

对方同时也需要在电脑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;

}

 

你可能感兴趣的:(蓝桥杯)