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;
              }

          }
          主站蜘蛛池模板: 拉孜县| 德保县| 敦化市| 获嘉县| 武清区| 定西市| 遂溪县| 宾川县| 阳信县| 前郭尔| 庆云县| 秭归县| 富顺县| 乌审旗| 枣强县| 大兴区| 安福县| 望奎县| 太仆寺旗| 咸宁市| 神农架林区| 南开区| 都匀市| 田阳县| 兰溪市| 建德市| 仙居县| 河北区| 襄樊市| 辽中县| 封开县| 睢宁县| 柳州市| 北宁市| 衡阳县| 伊吾县| 西青区| 正蓝旗| 泗水县| 盐源县| 台湾省|