zoukankan      html  css  js  c++  java
  • nyoj169-素数

    1. 素数

      时间限制:3000 ms  |  内存限制:65535 KB
      难度:1
      描述

      走进世博园某信息通信馆,参观者将获得前所未有的尖端互动体验,一场充满创想和喜悦的信息通信互动体验秀将以全新形式呈现,从观众踏入展馆的第一步起,就将与手持终端密不可分,人类未来梦想的惊喜从参观者的掌上展开。

      在等候区的梦想花园中,参观者便开始了他们奇妙的体验之旅,等待中的游客可利用手机等终端参与互动小游戏,与梦想剧场内的虚拟人物Kr. Kong 进行猜数比赛。当屏幕出现一个整数X时,若你能比Kr. Kong更快的发出最接近它的素数答案,你将会获得一个意想不到的礼物。

      例如:当屏幕出现22时,你的回答应是23;当屏幕出现8时,你的回答应是7;若X本身是素数,则回答X;若最接近X的素数有两个时,则回答大于它的素数。

      输入
      第一行:N 要竞猜的整数个数
      接下来有N行,每行有一个正整数X
      1<=N<=5 1<=X<=1000
      输出
      输出有N行,每行是对应X的最接近它的素数
      样例输入
      4
      22
      5
      18
      8
      样例输出
      23
      5
      19
      7
      来源
      第三届河南省程序设计大赛
      上传者
      张云聪
      解答:


    2. #include<iostream>  
    3. #include<string.h>  
    4. #include<stdio.h>  
    5. #include<algorithm>  
    6. using namespace std;      
    7. int main()  
    8. {  
    9.     int a[1100],i,j;  
    10.     memset(a,0,sizeof(a));  
    11.     a[1]=1;  
    12.     for(i=2;i<=1090;++i)     //筛素数法   
    13.     {  
    14.         for(j=i+i;j<=1090;j+=i)  
    15.            a[j]=1;  
    16.     }  
    17.     int t,x;  
    18.     //cin>>t;  
    19.     scanf("%d",&t);  
    20.     while(t--)  
    21.     {  
    22.         //cin>>x;  
    23.         scanf("%d",&x);       
    24.         if(a[x]==0)  
    25.         {  
    26.             //cout<<x<<endl;  
    27.             printf("%d ",x);  
    28.         }  
    29.         else  
    30.         {  
    31.             int max,min;  
    32.             for(i=x;;i++)  
    33.             {  
    34.                 if(a[i]==0)  
    35.                 {  
    36.                     max=i;  
    37.                    break;  
    38.                 }  
    39.                                     
    40.             }  
    41.             for(i=x;;i--)  
    42.             {  
    43.                 if(a[i]==0)  
    44.                 {  
    45.                    min=i;           
    46.                    break;  
    47.                 }  
    48.             }  
    49.             if((max-x)<=(x-min))  
    50.               
    51.               //cout<<max<<endl;  
    52.               printf("%d ",max);  
    53.                 
    54.             else  
    55.               
    56.               //cout<<min<<endl;  
    57.               printf("%d ",min);  
    58.                 
    59.         }  
    60.     }     
    61.     return 0;  
    62. }   
  • 相关阅读:
    【Tomcat】使用Eclipse发布项目时,项目启动路径错误。
    Unsupported major.minor version 52.0
    【转载】设置event.cancelBubble,使触发子元素的onclick不同时触发父元素的onclick
    【MG】测试
    【Tomcat】使用Eclipse运行Tomcat7源码
    【微信公众号】WeixinJSBridge.call('closeWindow')无效
    【微信公众号】使用a标签打开链接显示空白
    【JAVA】导出jar包时,Class files on classpath not found
    【JAVA】修改项目包名
    lesson3.1:java公平锁和非公平锁及读写锁
  • 原文地址:https://www.cnblogs.com/aerer/p/9931143.html
Copyright © 2011-2022 走看看