zoukankan      html  css  js  c++  java
  • 蓝桥杯真题(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
    ",r);
    	
    	return 0;
    }
    

       打印十字图  

    复制代码
    /*
    问题描述
    小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:
    ..$$$$$$$$$$$$$..
    ..$...........$..
    $$$.$$$$$$$$$.$$$
    $...$.......$...$
    $.$$$.$$$$$.$$$.$
    $.$...$...$...$.$
    $.$.$$$.$.$$$.$.$
    $.$.$...$...$.$.$
    $.$.$.$$$$$.$.$.$
    $.$.$...$...$.$.$
    $.$.$$$.$.$$$.$.$
    $.$...$...$...$.$
    $.$$$.$$$$$.$$$.$
    $...$.......$...$
    $$$.$$$$$$$$$.$$$
    ..$...........$..
    ..$$$$$$$$$$$$$..
    对方同时也需要在电脑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("
    ");
        }
        
        for(i=row/2;i>0;i--)
        {
            for(j=1;j<=cll;j++)
            {
                printf("%c",a[i][j]);
            }
            printf("
    ");
        }
        
        return 0;
    }
  • 相关阅读:
    【博弈论】取火柴游戏
    【贪心】马拉松接力赛
    【贪心】0/1背包
    【贪心】赶作业
    C# 设计模式 (一)
    C# 反射入门
    C# WinForm 访问webService天气预报
    WebService 测试地址
    C# Windows服务相关
    CSS 案例学习
  • 原文地址:https://www.cnblogs.com/tangshiguang/p/6770705.html
Copyright © 2011-2022 走看看