• 质数和回文数


    摘要:继续练习了洛谷的循环 今天上午第一次翘了课,宅在宿舍code(莫名有些愧疚感怎么回事? 第一个难住我的便是阶乘的高精度了,插个眼,往后来重做。

    第二个值得留意的细节便是,浮点数只能和浮点运算,比如double s=1.0/int n。 然后就是p1217,回文质数的数据太大,让我除了开始考虑代码的正确性之外,还得考虑空间的压力,需要学习多种算法才能解决问题。

    tag一波,除了质数的判断,就是回文数的判断

    #质数

    int zhishu(int a) { 
    int k = 0; for (int i = 2; i < a; i++) 
    { 
    if (a % i == 0) k++; 
    } 
    if (k == 0) return 1; 
    else return 0; 
    }

    #(12.3完善一波) 

    1 int zhishu(int x){
    2  int p=0; if(x>=4){
    3  for(int i=2;i<x-1;i++){
    4  if(x%i==0) p++; 
    5 }
    6  }
    7  if(p==0&&x!=1) return 1;
    8  else return 0; 
    9 }

     #质数运用———哥德巴赫

    #include <iostream>
    using namespace std;
    int zhishu(int a) {
        int k = 0; for (int i = 2; i < a; i++)
        {
            if (a % i == 0) k++;
        }
        if (k == 0) return 1;
        else return 0;
    }
    
    int main()
    {
        int n;
        cin>>n;
        int p = 0;
        while(n--) {
            cin>>p;
            int i, count = 0;
            for (i = 3; i <= p / 2; i += 2) {
                if (zhishu(i) && (zhishu(p - i)))
                    count++;
            }
            cout << count << endl;
        }
    }

    美妙的地方在于i+=2;

    让运算时间直接减少一半,这样就可以达到时间限制

    #回文 

    int huiwen(int n){ 
    int sum=0; 
    int m=n;
     while(n){
     sum=sum*10+n%10;
     n/=10;
     }
     if(sum==m)
     return 1;
     else return 0;
     }

    爱了,全自己发明。 马上就半期了,但code不能松懈。

    咱们山顶见。
  • 相关阅读:
    Android 中Service生命周期
    Android开发中退出程序几种方法
    FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT用法
    【Java并发编程实战】-----synchronized
    The specified child already has a parent错误
    使用Ant打包工具 基本介绍
    what's WSDL
    XFire WebService demo
    jws webservice code
    axis、xfire、CXF 、JWS
  • 原文地址:https://www.cnblogs.com/NKshen/p/13962801.html
Copyright © 2020-2023  润新知