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

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;

}


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 6,048评论 2 16
  • 宿雨俏拾花 榆钱满树压 春风摇翠柳 候鸟喜归家
    蓝色汪星人阅读 141评论 3 4
  • 其实说来我写这个题目,着实有些可笑,因为如果我知道怎么样交朋友的话,我也就不用这么难受了,暗戳戳的扎心难受。 有人...
    默读人心阅读 400评论 0 1
  • 克里斯多福-孟的精彩句子分享 1、 内心感到不舒服只是个迹象,它是要告诉你,你有一个关于快乐的课题需要学习。 2、...
    和乐文化阅读 315评论 0 1
  • 标题1 标题2 标题3 无序列表 整理知识,学习笔记发布日记,杂文,所见所想撰写发布技术文稿(代码支持)撰写发布学...
    codeice阅读 244评论 0 1

友情链接更多精彩内容