YTU 2887: D--机器人Bill

来源:互联网 发布:青岛恢复手机数据 编辑:程序博客网 时间:2024/06/05 05:06

2887: D--机器人Bill

时间限制: 1 Sec  内存限制: 128 MB
提交: 112  解决: 22

题目描述

最近,Dr. Jiang 新设计一个机器人Bill。Bill很聪明,会做许多事情。唯独对质数的理解与人类不一样,它是从右往左读数。比如,它看到113时,会理解成311。让它比较23与19哪一个大,它说19大。原因是它的大脑会以为是32与91在进行比较。再比如,让它比较29与31,它说29大。

给Bill 两个自然数A和B,让它将 [A,B] 区间中的所有质数按从小到大排序出来。你会认为它如何排序?

输入

第一行:N 表示有多少组测试数据。 (2<=N<=5 )
接下来有 N 行,每一行有两个正整数 A,B 表示待排序元素的区间端点。(1<=A<=B<=200000, B-A<=100)

输出

对于每一行测试数据,输出一行,为所有排好序的元素,元素之间有一个空格。

样例输入

28 1518 39

样例输出

11 1331 23 37 19 29

你  离  开  了  ,  我  的  世  界  里  只  剩  下  雨  。  。  。

#include <stdio.h>#include <iostream>using namespace std;#include<algorithm>int bijiao(int c[],int n){    int i,s=0;    for(i=0; i<n; i++,s=0)    {        while(c[i])        {            s*=10;            s+=c[i]%10;            c[i]/=10;        }        c[i]=s;    }    sort(c,c+n);    for(i=0; i<n; i++,s=0)    {        while(c[i])        {            s*=10;            s+=c[i]%10;            c[i]/=10;        }        c[i]=s;    }    return 0;}int panduan(int n){    int i;    if(n<=1)return 0;    for(i=2; i*i<=n; i++)        if(n%i==0)return 0;    return 1;}int  main(){    int n,a,b,i,c[99],j=0;    scanf("%d",&n);    while(n--)    {        scanf("%d%d",&a,&b);        for(i=a,j=0; i<=b; i++)if(panduan(i))c[j]=i,j++;        bijiao(c,j);        for(i=0; i<j; i++)printf(i!=j-1?"%d ":"%d\n",c[i]);    }    return 0;}

1 0
原创粉丝点击