蓝桥杯真题(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;
}

   打印十字图  

/*
问题描述
小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:
..$$$$$$$$$$$$$..
..$...........$..
$$$.$$$$$$$$$.$$$
$...$.......$...$
$.$$$.$$$$$.$$$.$
$.$...$...$...$.$
$.$.$$$.$.$$$.$.$
$.$.$...$...$.$.$
$.$.$.$$$$$.$.$.$
$.$.$...$...$.$.$
$.$.$$$.$.$$$.$.$
$.$...$...$...$.$
$.$$$.$$$$$.$$$.$
$...$.......$...$
$$$.$$$$$$$$$.$$$
..$...........$..
..$$$$$$$$$$$$$..
对方同时也需要在电脑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;
}
时间: 2024-08-24 13:11:23

蓝桥杯真题(1)的相关文章

蓝桥杯——真题训练之蚂蚁感冒

标题:蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂蚁感冒了.并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁. 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒. [数据格式] 第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数. 接着的一行是n个用空格分开的整数 Xi (-100 < Xi < 100),

蓝桥杯——真题训练之李白打酒

标题:李白打酒 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗. 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了. 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b.则:babaabbabbabbbb 就是合理的次序.像这样的答案一共有多少呢?请你计算出所有可能方案? public class Main{ public static void m

第四届蓝桥杯真题 连号区间

本来想练习并查集,然后在看官网提示这是并查集类型题目,上来先默写了一下并查集,想了半天并查集怎么写..我呸,并查集..这里找规律..区间的[最大值-最小值]=[区间长度],直接枚举...讨厌这种找规律的题... #include <iostream> #include <algorithm> #include <cstdlib> #include <cstdio> using namespace std; const int maxn = 50000 + 1

第六届蓝桥杯真题总结

第一题:奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利. 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张. 请提交该数字(一个整数),不要写任何多余的内容或说明性文字. #include <iostream> #include <cstdio> #include <cstdlib>

问题 C: 猜算式(蓝桥杯真题)

时间限制: 1 Sec  内存限制: 128 MB 提交: 349  解决: 126 [提交][状态] 题目描述 看下面的算式: □□ x □□ = □□ x □□□ 它表示:两个两位数相乘等于一个两位数乘以一个三位数. 如果没有限定条件,这样的例子很多. 但目前的限定是:这9个方块,表示1~9的9个数字,不包含0. 该算式中1至9的每个数字出现且只出现一次! 比如: 46 x 79 = 23 x 158 54 x 69 = 27 x 138 54 x 93 = 27 x 186 ..... 请

第八届蓝桥杯第二题

标题:纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算).要求每个边的和相等.        下图就是一种排法(如有对齐问题,参看p1.png). A             9 6            4   8           3 7 5 2 这样的排法可能会有很多. 如果考虑旋转.镜像后相同的算同一种,一共有多少种不同的排法呢? 请你计算并提交该数字. 注意:需要提交的是一个整数,不要提交任何多余内容. 这题没什么好说的 暴力破解模型 将不同位置

java算法 蓝桥杯(题+答案) 生日蜡烛

2.生日蜡烛  (结果填空) 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛.现在算起来,他一共吹熄了236根蜡烛.请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数.注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 1 public class _2生日蜡烛 { 2 public static void main(String[] args) { 3 for (int i = 1; i <= 100; i++) {

java算法 蓝桥杯(题+答案) 煤球数目

1.煤球数目  (结果填空) 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字.注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 1 public class _1煤球数目 { 2 public static void main(String[] args) { 3 int sum=0; 4 int dangqian = 0

java算法 蓝桥杯(题+答案) 抽签

5.抽签  (代码填空) X星球要派出一个5人组成的观察团前往W星.其中:A国最多可以派出4人.B国最多可以派出2人.C国最多可以派出2人..... 那么最终派往W星的观察团会有多少种国别的不同组合呢? 下面的程序解决了这个问题.数组a[] 中既是每个国家可以派出的最多的名额.程序执行结果为:DEFFFCEFFFCDFFFCDEFFCCFFFCCEFFCCDFFCCDEFBEFFFBDFFFBDEFFBCFFFBCEFFBCDFFBCDEF....(以下省略,总共101行) 1 public c