| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 17883 人关注过本帖, 8 人收藏
标题:第四届蓝桥杯本科B组C语言题
只看楼主 加入收藏
蔡梓锋
Rank: 4
等 级:业余侠客
帖 子:106
专家分:202
注 册:2013-4-20
收藏
得分:0 
#include "stdio.h"
main()
{int a[2],b[3],x,y,z,k,l,i,j,cishu=0;
   
    for(x=12;x<=98;x++)
    for(y=123;y<=987;y++)
    {k=x;
        l=y;
        j=0;
        i=0;
        while(k)
        {
            a[i]=k%10;
            k=k/10;
            i++;}
        while(l)
        {b[j]=l%10;
            l=l/10;
            j++;}
        z=1;
        for(i=0;i<=1;i++)
        for(j=0;j<=2;j++)
        {if(a[i]==b[j]||a[i]==0||b[j]==0||x*y!=((a[1]*100+b[1]*10+a[0])*(b[2]*10+b[0])))
            z=0;}
        if(z==1)
        cishu++;
   
   
    }
    printf("%d",cishu);
}
第二题,自己编的,没有答案,不知道是否正确。

加油加油!
2013-06-14 09:42
zxzxwdwd
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-6-19
收藏
得分:0 
回复 11楼 beyondyf
看了大神几个回复,单纯的膜拜一下
2013-06-19 19:54
qq616522635
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-7-8
收藏
得分:0 
回复 9楼 beyondyf
斐波那契数列这道题的答案好像不对吧,a(2)=b(1)+b(0)=0,明显是错误的,a(2)=1才对,所以条件中应该加上a(2)=1
2013-07-08 19:37
w18791981640
Rank: 1
等 级:新手上路
帖 子:15
专家分:8
注 册:2012-6-17
收藏
得分:0 
楼主高人也
2013-07-15 11:16
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 93楼 qq616522635
确实少写了一个边界条件,感谢指正!对于其他的分析如果有更好的建议还请不吝赐教

重剑无锋,大巧不工
2013-07-15 14:39
小新二代
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-7-6
收藏
得分:0 
回复 9楼 beyondyf
太清晰了
2013-07-16 09:49
a1140141768
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-6-17
收藏
得分:0 
来学习了、。、、。。。。。。。。。。。。。、
2014-07-29 19:00
小闲人
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-4-6
收藏
得分:0 
回复 9楼 beyondyf
按照你第九题的思路我做了一遍,不知道那错了,能不能帮我看看
#include<stdio.h>
int a[]={1,2,3,4,5,6,7,8,9},n,num=0;
int toInt(int i,int j)
{
    int sum=0,k;
    for(k=0;i+k<j;k++)
    sum=sum*10+a[i+k];
    return sum;
}
void change(int i,int j)
{
    int temp;
    temp=a[i];
    a[i]=a[j];
    a[j]=temp;
}
void f(int length)
{
    int i=1,j,k,q,m=0,z1=0,z2=0,z3=0;
    if(length==8)
    {
        for(j=1;toInt(0,j)<n;j++)
        {
            z1=toInt(0,j);
            for(k=j+1;k<9;k++)
            {
                for(q=k+1;q<9;q++)
                {
                    if(k-j>q-k)
                             {
                        z2=toInt(j,k);
                        z3=toInt(k,q);
                        if((z1*z3+z2)==(z3*n))
                         {
                             num++;
                        }
                      }
                }
               
            }
        }
    }
    else
    {
        while(length+i<9)
        {
            change(length,length+i);
            f(length+1);
            change(length,length+i);
            i++;
        }
    }
}
int main()
{
    scanf("%d",&n);
    f(0);
    printf("%d\n",num);
}
2015-04-07 12:37
小闲人
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-4-6
收藏
得分:0 
回复 6楼 beyondyf
我做出来了,不用了
2015-04-07 15:39
炎羽天
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-4-8
收藏
得分:0 
回复 楼主 sala0127
2476157641
2015-04-08 22:11
快速回复:第四届蓝桥杯本科B组C语言题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.127550 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved