posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          USACO 1.1.5 Superprime Rib

          Posted on 2007-06-01 22:32 ZelluX 閱讀(257) 評論(0)  編輯  收藏 所屬分類: Algorithm

          開始的方法太慢了,Superprime要從一位數開始生成,逐漸增加位數。


          /*
          PROG: sprime
          ID: 06301031
          LANG: C++
          */


          #include 
          <iostream>
          #include 
          <fstream>
          #include 
          <cmath>
          #include 
          <vector>
          #include 
          <algorithm>

          using namespace std;

          bool isPrime(long n) {
              
          if (n == 1{
                  
          return false;
              }

              
          for (int i = 2; i <= sqrt(n); i++{
                  
          if (n % i == 0{
                      
          return false;
                  }

              }

              
          return true;
          }


          int main() {
              ifstream fin(
          "sprime.in");
              ofstream fout(
          "sprime.out");
              
          int n;
              fin 
          >> n;
              
          long i, j;
              
          long base = 1;
              vector
          <long> prev, now;
              vector
          <long>::iterator iter;
              prev.push_back(
          0);
              
          for (i = 1; i <= n; i++{
                  
          for (j = 1; j <= 9; j++{

                      
          for (iter = prev.begin(); iter != prev.end(); iter++{
                          
          long number = *iter * 10 + j;
                          
          if (isPrime(number)) {
                              now.push_back(number);
                          }

                      }

                  }

                  prev 
          = now;
                  now.clear();
                  
          base *= 10;
              }


              sort(prev.begin(), prev.end());
              
          for (iter = prev.begin(); iter != prev.end(); iter++{
                  fout 
          << *iter << endl;
              }

          }
          主站蜘蛛池模板: 龙江县| 新野县| 滦平县| 江口县| 驻马店市| 本溪市| 宜君县| 乌兰察布市| 钟山县| 沧源| 长治县| 香河县| 黑河市| 泰兴市| 吉安市| 湖口县| 修武县| 江都市| 界首市| 分宜县| 清流县| 肃宁县| 延安市| 宁津县| 竹山县| 辛集市| 蒲城县| 通许县| 江阴市| 峨眉山市| 虎林市| 甘洛县| 运城市| 韶关市| 仁怀市| 同仁县| 印江| 永济市| 双城市| 昆山市| 建平县|