天梯赛 2.7

L1-091 程序员买包子

#include <stdio.h>
int main()
{
	int n,m,k;
	char x[15];
	scanf("%d %s %d %d",&n,&x,&m,&k);
	if(n==k)
	printf("mei you mai %s de\n",x);
	else if(m==k)
	printf("kan dao le mai %s de\n",x);
	else
	printf("wang le zhao mai %s de\n",x);
	return 0;
}

L1-092 进化论

#include <stdio.h>
int main()
{
	int n,a,b,c;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%d %d %d",&a,&b,&c);
		if(a*b==c)
		printf("Lv Yan\n");
		else if(a+b==c)
		printf("Tu Dou\n");
		else
		printf("zhe du shi sha ya!\n");
	}
	return 0;
}

 L1-093 猜帽子游戏

#include<stdio.h>
int main()
{
    int flag=0,pos=1,n,a[1001],k;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    scanf("%d",&k);
    for(int i=1;i<=k;i++)
    {
        int t;
        for(int i=1;i<=n;i++)
        {
             scanf("%d",&t);
             if(t!=0)
             {
                 flag=1;
             }
             if(t!=a[i]&&t!=0)
             {
                 pos=0;
             }
        }
        if(pos==1&&flag==1)
        {
             printf("Da Jiang!!!\n");
        }
        else
        {
             printf("Ai Ya\n");
        }
        flag=0;
        pos=1;
    }
    return 0;
}

L1-094 剪切粘贴

#include <stdio.h>
#include <string.h>
 
int main()
{
    char s[200];
    scanf("%s", &s);
    int n;
    scanf("%d", &n);
    int i;
    for (i = 0; i < n; i++)
    {
        int len = strlen(s);
        int j = 0, k = 0, m = 0;
        char s2[200];
        int a = 0, b = 0;
        char c1[6], c2[6];
        scanf("%d %d %s %s", &a, &b, &c1, &c2);
        for (j = a - 1; j < len; j++)
        {
            if (k < b - a + 1)
            {
                s2[k] = s[j];
                k++;
            }
            s[j] = s[j + b - a + 1];
        }
        int flag = 0;
        int len1 = strlen(c1);
        int len2 = strlen(c2);
        for (j = 0; j < len; j++)
        {
            int start = j, num;
            int sum1 = 0, sum2 = 0;
            for (num = 0; num < len1; num++)
            {
                if (s[start] == c1[num])
                {
                    sum1++;
                    start++;
                }
                if (sum1 == len1)
                {
                    int q = 0;
                    for (q = 0; q < len2; q++)
                    {
                        if (s[start] == c2[q])
                        {
                            sum2++;
                            start++;
                        }
                        if (sum2 == len2)
                        {
                            flag = 1;
                            break;
                        }
                    }
                }
                if (flag == 1)
                    break;
            }
            if (flag == 1)
                break;
        }
        if (flag == 1)
        {
            for (m = len - 1; m >= j + len1 + k; m--)
            {
                s[m] = s[m - k];
            }
            int number = 0;
 
            for (number = 0; number < k; number++)
            {
                s[m - k + 1] = s2[number];
                m++;
            }
        }
        else
        {
            int number = 0;
            for (m = len - k; m < len; m++)
            {
                s[m] = s2[number];
                number++;
            }
        }
    }
    puts(s);
    return 0;
}

L1-095 分寝室

#include<stdio.h>
#include<math.h>
int main()
{
    int n0,n1,n2,i,j,t,nan,nv,rsc,term=0,rrr=100000;
    scanf("%d %d %d",&n0,&n1,&n2);
    for(i=1;i<n2&&i<n0&&(n2-i)<n1;i++){
        if(n0%i==0&&n1%(n2-i)==0){
            rsc=abs(n0/i-n1/(n2-i));
            if(rsc<rrr){
                rrr=rsc;
                nan=i;
                term=1;
            }
        }
    }
    if(term==0)printf("No Solution");
    else printf("%d %d\n",nan,n2-nan);
}

 蓝桥杯 杨辉三角

#include<stdio.h>
#include<stdlib.h>
int main()
{
    long n,i,t=100000000;
    int num=1,flag=0;
    long long int x;
    scanf("%ld",&n);
    if(n==1)
    {
        printf("1");
        return 0;
    }
    for(i=1;flag!=1;i++)
    {
        long j=1;
        num=1;
        for(;j<=i/2&&j<t;j++)
        {
            num++;
            x=1;
            for(long k=0;k<j;k++)
            x*=(i-k);
            for(long k=0;k<j;k++)
            x/=(k+1);
            if(x==n)
            {
                flag=1;
                break;
            }
            if(x>n)
            {
                t=j;
                break;
            }
        }
        if(t==2)
        {
            num=2;
            i=n+1;
            break;
        }
    }
    printf("%ld",num+(i-1)*i/2);
    return 0;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值