美文网首页
菜鸟编程学习(python&C--017)

菜鸟编程学习(python&C--017)

作者: 就如此简单 | 来源:发表于2018-10-22 19:44 被阅读0次

    Python 练习实例31   Python 100例

    题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

    程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。

    程序代码:

    day= raw_input("please input:")

    if day== 'S':

        print ('please input second letter:')

        day= raw_input("please input:")

        if (day== 'a'):

            print ('Saturday')

        elif (day== 'u'):

            print ('Sunday')

        else:

            print 'data error' 

    elif (day== 'F'):

        print ('Friday')

    elif (day== 'M'):

        print ('Monday')

    elif (day== 'T'):

        print ('please input second letter')

        day = raw_input("please input:")

        if (day== 'u'):

            print ('Tuesday')

        elif (day== 'h'):

            print ('Thursday')

        else:

            print ('data error')

    elif (day == 'W'):

        print ('Wednesday')

    else:

        print ('data error')


    Python 练习实例32  Python 100例

    题目:按相反的顺序输出列表的值。

    程序分析:无。

    程序代码:

    L=[1,2,3,4,5,6]

    for i in L[::-1]:

        print i,


    Python 练习实例33

    Python 100例 Python 100例

    题目:按逗号分隔列表。

    程序分析:无。

    程序代码:

    L=[1,2,3,4,5,6]

    print L[0],

    for i in range(1,6):

        print ",",L[i],


    Python 练习实例36

    Python 100例 Python 100例

    题目:求100之内的素数。

    程序分析:无。

    程序代码:

    for i in range(2,101):

        sum=0

        for j in range(2,i):

            if(i%j==0):

                sum=sum+1

        if(sum==0):

            print i,


    题目24  素数距离问题 (南阳oj)

    时间限制:3000 ms  |  内存限制:65535 KB

    难度:2

    描述

    现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。

    如果输入的整数本身就是素数,则输出该素数本身,距离输出0

    输入

    第一行给出测试数据组数N(0

    接下来的N行每行有一个整数M(0

    输出

    每行输出两个整数 A B.

    其中A表示离相应测试数据最近的素数,B表示其间的距离。

    样例输入

    3

    6

    8

    10

    样例输出

    5 1

    7 1

    11 1

    注:绝对值整数用abs()函数,有小数的(即浮点型)用fabs()函数

    程序代码:

    方法一(还有点小问题):

    #include <stdio.h>

    int main()

    {

    long int i,a,k,b,m,sum,x,y;

    scanf("%d",&m);

    while(m--)

    {

    sum=0;

    x=0;

    y=0;

    scanf("%d",&a);

    k=a;

    while(sum!=(a-2))

    {

    sum=1;

    for(i=2;i<a;i++)

    {

    if(a%i==0)

    {

    sum=sum+1;

    }

    }

    if(sum==1)

    {

    break;

    }

    else

    {

    x=x+1;

    a=a+1;

    }

    }

    b=k;

    while(sum!=(b-2))

    {

    sum=1;

    for(i=2;i<b;i++)

    {

    if(b%i==0)

    {

    sum=sum+1;

    }

    }

    if(sum==1)

    {

    break;

    }

    else

    {

    y=y+1;

    b=b-1;

    }

    }

    if((k-b)>(a-k))

    {

    printf("%d %d\n",a,x);

    }

    else

    printf("%d %d\n",b,y);

    }

    }

    方法二(转载至网上):

    #include <stdio.h>

    #define N 1000050

    bool prime[N];

    void init()//筛选法求素数

    {

        for(int i=2;i<N;i++)

            prime[i] = true;

        for(int i=2;i*i<N;i++)

        {

            if(prime[i])

            {

                for(int j=i*i;j<N;j+= i)

                {

                    prime[j] = false; 

                }

            }

        }

    }

    int main()

    {

        init();

        int t;

        scanf("%d",&t);

        while(t--)

        {

            int n,ans;

            scanf("%d",&n);

            if(n==1)//当n=1时,直接输出

                printf("2 1\n");

            else

            {

                int i;//i为距离

                if(prime[n])

                    ans=n,i=0;

                else

                {

                    for(i=1;i<50;i++)

                    {

                        if(prime[n-i])//向前找素数

                        {

                            ans=n-i;

                            break;

                        }

                        if(prime[n+i])//向后找素数

                        {

                            ans=n+i;

                            break;

                        }

                    }

                }

                printf("%d %d\n",ans,i);

            }

        }

        return 0;

    }


    相关文章

      网友评论

          本文标题:菜鸟编程学习(python&C--017)

          本文链接:https://www.haomeiwen.com/subject/mliwzftx.html