首页 > 试题广场 >

有限域

[编程题]有限域
  • 热度指数:1399 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解

在抽象代数中,我们学过一个关于有限域的定理:存在一个大小为q的有限域当且仅当q是某个素数p的方幂,即q=pk ,


输入描述:
第一行包含一个整数,数的范围在[1,10000]


输出描述:
输出阶数不超过
示例1

输入

1

输出

0
示例2

输入

37

输出

19

说明

当n 为 37 时,在 1-37 范围内,以下 19 个整数可以表示成某个素数的方幂:2,3,4,5,7,8,9,11,13,16,17,19,23,25,27,29,31,32,37。
//判断在n范围内的素数
//然后对每个素数进行    log(n) / log(该素数)   就是 loga(n) 的取下整的操作
//就可以判断 在n的范围内包含的该素数及其各个幂的数量,然后每一个素数进行判断即可
//在下面的代码里,已经提前处理过10000范围内的素数了,直接声明了一个大数组用来承接
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    int sushu[1229] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973};
    int ans = 0;
    int i = 0, n = 0;
    cin >> n;
    while (sushu[i] <= n)
    {
        ans = ans + floor(double(log(n)) / log(sushu[i]));
        i++;
    }
    cout << ans;
}

编辑于 2019-02-17 19:50:40 回复(0)
#include <bits/stdc++.h>

using namespace std;

bool isPrime(int n)
{     if(n==1)         return false;     if(n==2)         return true;     for(int i=2;i*i<=n;i++)         if(n%i==0)             return false;     return true;
}

int main()
{     int n;     while(cin>>n){         int cnt = 0;         for(int i=2;i<=n;i++)             if(isPrime(i)){                 for(int j=1;pow(i,j)<=n;j++)                     cnt++;                     cout<<cnt<<endl;         return 0;
}

发表于 2019-02-01 02:54:49 回复(0)
解题思路分为两步:
    1、计算范围内的素数;
    2、计算范围内的素数的k次方在范围内数的个数;
素数个数+素数K次方数的个数 = 有限域阶数。
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
bool primefun(int n)
{
    for(int i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)
            return false;
    }
    return true;
}
int main()
{
    int n;
    int count=0;
    vector<int> primenum;
    cin >> n;
    /*判断是否是素数,是就保存*/
    for(int i=2;i<=n;i++)
    {
        if(primefun(i))
        {
            primenum.push_back(i);
            count++;
        }
    }
    /*素数的幂在范围内的个数*/
    for(int i=0;i<primenum.size();i++)
    {
        int tmp=primenum[i]*primenum[i];
        while(tmp<=n)
        {
            count++;
            tmp *= primenum[i];
        }
    }
    cout << count;
    return 0;
}
发表于 2019-02-27 14:45:14 回复(0)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;

/**
 * @author wylu
 */
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());

        HashSet<Integer> set = new HashSet<>();
        if (n > 1) {
            for (int i = 1; Math.pow(2, i) <= n; i++) {
                set.add((int) Math.pow(2, i));
            }
        }
        for (int i = 3; i <= n; i += 2) {
            boolean flag = true;
            for (int j = 3; j <= Math.sqrt(i); j += 2) {
                if (i % j == 0) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                for (int j = 1; Math.pow(i, j) <= n; j++) {
                    set.add((int) Math.pow(i, j));
                }
            }
        }
        System.out.println(set.size());
    }
}

发表于 2019-01-17 21:53:52 回复(2)
思路大致差不多,java解法。
编辑于 2019-01-17 14:22:10 回复(0)
数学上来先打表系列233
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n; cin >> n;
    int db[] = {0,0,1,2,3,4,4,5,6,7,7,8,8,9,9,9,10,11,11,12,12,12,12,13,13,14,14,15,15,16,16,17,18,18,18,18,18,19,19,19,19,20,20,21,21,21,21,22,22,23,23,23,23,24,24,24,24,24,24,25,25,26,26,26,27,27,27,28,28,28,28,29,29,30,30,30,30,30,30,31,31,32,32,33,33,33,33,33,33,34,34,34,34,34,34,34,34,35,35,35,35,36,36,37,37,37,37,38,38,39,39,39,39,40,40,40,40,40,40,40,40,41,41,41,41,42,42,43,44,44,44,45,45,45,45,45,45,46,46,47,47,47,47,47,47,47,47,47,47,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,52,52,53,53,53,53,54,54,54,54,54,54,55,55,56,56,56,56,56,56,56,56,56,56,57,57,58,58,58,58,59,59,60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,61,61,61,61,62,62,62,62,63,63,64,64,64,64,65,65,65,65,65,65,66,66,67,67,68,68,68,68,68,68,68,68,69,69,69,69,69,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,74,74,74,74,74,74,75,75,75,75,76,76,77,77,77,77,77,77,78,78,78,78,79,79,79,79,79,79,79,79,79,79,79,79,79,79,80,80,80,80,81,81,82,82,82,82,83,83,83,83,83,83,83,83,83,83,83,83,83,83,84,84,84,84,84,84,85,85,85,85,85,85,86,86,86,86,87,87,88,88,88,88,89,89,89,89,89,89,90,90,91,91,91,91,91,91,92,92,92,92,92,92,93,93,93,93,93,93,94,94,94,94,95,95,95,95,95,95,96,96,96,96,96,96,96,96,97,97,97,97,98,98,98,98,98,98,98,98,99,99,99,99,99,99,99,99,99,99,100,100,101,101,101,101,101,101,101,101,101,101,102,102,103,103,103,103,103,103,104,104,104,104,105,105,105,105,105,105,106,106,106,106,106,106,106,106,107,107,107,107,108,108,109,109,109,109,110,110,110,110,110,110,110,110,110,110,110,110,111,111,111,111,111,111,111,111,112,112,112,112,113,113,113,113,113,113,113,113,114,114,114,114,115,115,115,115,115,115,116,116,116,117,117,117,117,117,117,117,117,117,118,118,119,119,119,119,119,119,120,120,120,120,120,120,120,120,120,120,120,120,121,121,121,121,121,121,122,122,122,122,122,122,122,122,122,122,123,123,123,123,123,123,124,124,124,124,124,124,125,125,126,126,126,126,126,126,127,127,127,127,127,127,127,127,127,127,128,128,128,128,128,128,129,129,129,129,129,129,130,130,131,131,131,131,131,131,132,132,132,132,132,132,133,133,133,133,134,134,135,135,135,135,135,135,136,136,136,136,136,136,137,137,137,137,137,137,137,137,137,137,138,138,139,139,139,139,140,140,140,140,140,140,141,141,141,141,141,141,142,142,143,143,143,143,143,143,143,143,143,143,143,143,144,144,144,144,145,145,145,145,145,145,146,146,146,146,146,146,146,146,147,147,147,147,147,147,147,147,147,147,148,148,148,148,148,148,148,148,149,149,149,149,149,149,149,149,149,149,150,150,150,150,150,150,150,150,151,151,152,152,152,152,153,153,153,153,153,153,154,154,154,154,155,155,155,155,155,155,155,155,156,156,156,156,156,156,157,157,157,157,158,158,158,158,158,158,158,158,159,159,159,159,160,160,160,160,160,160,160,160,160,160,160,160,160,160,161,161,161,161,161,161,161,161,161,161,162,162,162,162,162,162,162,162,162,162,162,162,163,163,164,164,164,164,164,164,164,164,164,164,165,165,166,166,166,166,167,167,168,168,168,168,168,168,168,168,168,168,169,169,170,170,170,170,170,170,170,170,170,170,170,170,171,171,171,171,172,172,173,173,173,173,174,174,174,174,174,174,174,174,174,174,174,174,174,174,175,175,175,175,176,176,177,177,177,177,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,179,179,179,179,180,180,180,180,180,180,180,180,181,181,181,181,181,181,181,181,181,181,182,182,182,182,182,182,182,182,183,183,183,183,184,184,184,184,184,184,185,185,185,185,185,185,186,186,186,186,186,186,186,186,187,187,187,187,187,187,188,188,188,188,189,189,189,189,189,189,190,190,190,190,190,190,191,191,191,191,191,191,191,191,192,192,192,192,192,192,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,194,195,195,195,195,195,195,196,196,197,197,197,198,198,198,198,198,198,198,199,199,200,200,200,200,200,200,201,201,201,201,201,201,201,201,201,201,202,202,203,203,203,203,203,203,203,203,203,203,204,204,205,205,205,205,205,205,206,206,206,206,206,206,206,206,206,206,206,206,206,206,206,206,206,206,207,207,207,207,208,208,209,209,209,209,210,210,210,210,210,210,211,211,211,211,211,211,212,212,212,212,212,212,212,212,213,213,213,213,213,213,214,214,214,214,214,214,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,216,216,217,217,217,217,217,217,217,217,217,217,218,218,218,218,218,218,218,218,219,219,219,219,219,219,219,219,219,219,220,220,220,220,220,220,221,221,221,221,221,221,222,222,222,222,222,222,222,222,223,223,223,223,223,223,223,223,223,223,223,223,224,224,224,224,225,225,225,225,225,225,226,226,226,226,226,226,227,227,228,228,228,228,228,228,229,229,229,229,229,229,229,229,229,229,229,229,230,230,230,230,230,230,230,230,230,230,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,232,232,233,233,233,233,234,234,234,234,234,234,235,235,236,236,236,236,236,236,237,237,237,237,238,238,239,239,239,239,240,240,240,240,240,240,240,240,240,240,240,240,241,241,242,242,242,242,242,242,243,243,243,243,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,245,245,245,245,245,245,246,246,247,247,247,247,248,248,248,248,248,248,248,248,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,250,250,250,250,250,250,250,250,250,250,251,251,251,251,251,251,251,251,251,251,251,251,251,251,252,252,252,252,253,253,254,254,254,254,255,255,255,255,255,255,256,256,256,256,256,256,256,256,257,257,257,257,258,258,259,259,259,259,259,259,260,260,260,260,260,260,260,260,260,260,260,260,261,261,261,261,261,261,261,261,261,261,262,262,263,263,263,263,264,264,265,265,265,265,266,266,266,266,266,266,267,267,267,267,267,267,267,267,267,267,267,267,268,268,268,268,268,268,268,268,268,268,268,268,269,269,269,269,269,269,269,269,270,270,270,270,270,270,270,270,270,270,270,270,271,271,271,271,271,271,272,272,272,272,273,273,273,273,273,273,274,274,274,274,274,274,274,274,275,275,275,275,276,276,276,276,276,276,276,276,277,277,277,277,278,278,278,278,278,278,278,278,278,278,278,278,278,278,279,279,279,279,280,280,280,280,280,280,281,281,282,282,282,282,283,283,283,283,283,283,284,284,285,285,285,285,285,285,286,286,286,286,286,286,286,286,286,286,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,288,288,288,288,288,288,289,289,289,289,290,290,291,291,291,291,291,291,291,291,291,291,291,291,292,292,292,292,292,292,292,292,292,292,292,292,293,293,293,293,294,294,295,295,295,295,295,295,295,295,295,295,296,296,296,296,296,296,296,296,296,296,296,296,297,297,298,298,298,298,298,298,298,298,298,298,299,299,299,299,299,299,299,299,300,300,300,300,300,300,301,301,301,301,301,301,302,302,302,302,302,302,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,304,304,304,304,304,304,305,305,305,305,306,306,307,307,307,307,307,307,307,307,307,307,307,307,308,308,308,308,308,308,308,308,308,308,309,309,309,309,309,309,309,309,309,309,309,309,310,310,310,310,310,310,310,310,311,311,311,311,311,311,311,311,311,311,311,311,311,311,311,311,312,312,313,313,313,313,313,313,313,313,313,313,313,313,314,314,314,314,314,314,315,315,315,315,316,316,317,317,317,317,318,318,319,319,319,319,319,319,319,319,319,319,320,320,320,320,320,320,320,320,320,320,320,320,321,321,321,321,321,321,322,322,322,322,322,322,323,323,323,323,323,323,323,323,323,323,323,323,323,323,323,323,323,323,324,324,325,325,325,325,325,325,325,325,325,325,325,325,325,325,325,325,326,326,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,328,328,328,328,328,328,329,329,329,329,329,329,329,329,330,330,330,330,330,330,331,331,331,331,332,332,333,333,333,333,334,334,334,334,334,334,334,334,335,335,335,335,335,335,336,336,336,336,336,336,336,336,336,336,337,337,338,338,338,338,338,338,338,338,338,338,339,339,339,339,339,339,339,339,339,340,340,340,340,340,341,341,341,341,341,341,341,341,341,341,342,342,342,342,342,342,343,343,343,343,343,343,343,343,343,343,343,343,344,344,345,345,345,345,346,346,347,347,347,347,347,347,347,347,347,347,348,348,348,348,348,348,348,348,348,348,348,348,349,349,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,351,351,352,352,352,352,352,352,353,353,353,353,354,354,355,355,355,355,355,355,355,355,355,355,356,356,356,356,356,356,356,356,357,357,357,357,357,357,357,357,357,357,357,357,357,357,357,357,357,357,358,358,358,358,358,358,358,358,359,359,359,359,359,359,359,359,359,359,360,360,360,360,360,360,361,361,361,361,362,362,363,363,363,363,364,364,364,364,364,364,364,364,365,365,365,365,365,365,365,365,365,365,365,365,365,365,365,365,366,366,367,367,367,367,368,368,368,368,368,368,368,368,369,369,369,369,369,369,369,369,369,369,369,369,369,369,369,369,370,370,371,371,371,371,372,372,372,372,372,372,372,372,373,373,373,373,373,373,374,374,374,374,374,374,375,375,375,375,376,376,376,376,376,376,376,376,376,376,376,376,377,377,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,379,379,379,379,379,379,380,380,381,381,381,381,381,381,382,382,382,382,383,383,383,383,383,383,384,384,384,384,384,384,384,384,384,384,384,384,384,384,385,385,385,385,385,385,386,386,386,386,387,387,388,388,388,388,388,388,389,389,389,389,390,390,390,390,390,390,391,391,392,392,392,392,392,392,392,392,392,392,393,393,393,393,393,393,394,394,394,394,394,394,395,395,395,395,395,395,395,395,395,395,395,395,395,395,396,396,396,396,397,397,397,397,397,397,398,398,398,398,398,398,398,398,398,398,398,398,399,399,399,399,399,399,399,399,400,400,400,400,400,400,401,401,401,401,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,403,404,404,404,404,404,404,404,404,404,404,405,405,405,405,405,405,405,405,406,406,406,406,407,407,407,407,407,407,408,408,409,409,409,409,409,409,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,411,411,411,411,411,411,411,411,411,411,411,411,412,412,413,413,413,413,413,413,413,413,413,413,413,413,413,413,413,413,414,414,414,414,414,414,414,414,415,415,415,415,416,416,416,416,416,416,416,416,416,416,416,416,417,417,417,417,417,417,417,417,417,417,417,417,417,417,418,418,418,418,418,418,418,418,418,418,419,419,420,420,420,420,421,421,421,421,421,421,421,421,422,422,422,422,422,422,423,423,423,423,423,423,424,424,424,424,425,425,426,426,426,426,427,427,427,427,427,427,428,428,428,428,428,428,428,428,429,429,429,429,430,430,431,431,431,431,431,431,432,432,432,432,432,432,432,432,432,432,433,433,434,434,434,434,434,434,434,434,434,434,435,435,435,435,435,435,435,435,436,436,436,436,437,437,437,437,437,437,437,437,437,437,437,437,437,437,438,438,438,438,438,438,438,438,438,438,439,439,439,439,439,439,439,439,439,439,439,439,440,440,441,441,441,441,441,441,442,442,442,442,443,443,444,444,444,444,444,444,445,445,445,445,445,445,445,445,445,445,446,446,446,446,446,446,446,446,446,446,446,446,446,446,447,447,447,447,448,448,448,448,448,448,449,449,449,449,449,449,449,449,450,450,450,450,450,450,451,451,451,451,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452,453,453,453,453,453,453,453,453,454,454,454,454,454,454,454,454,454,454,455,455,455,455,455,455,456,456,456,456,456,456,457,457,457,457,457,457,457,457,458,458,458,458,458,458,458,458,458,458,459,459,459,459,459,459,459,459,459,459,459,459,460,460,460,460,460,460,460,460,460,460,460,460,460,460,461,461,461,461,462,462,462,462,462,462,463,463,463,463,463,463,464,464,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,465,466,466,467,467,467,467,467,467,467,467,467,467,468,468,468,468,468,468,468,468,469,469,469,469,470,470,470,470,470,470,470,470,470,470,470,470,470,470,471,471,471,471,472,472,472,472,472,472,472,472,473,473,473,473,473,473,473,473,473,473,473,473,474,474,474,474,474,474,475,475,475,475,475,475,475,475,475,475,475,475,476,476,476,476,477,477,477,477,477,477,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,478,479,479,479,479,479,479,479,479,479,479,480,480,481,481,481,481,482,482,482,482,482,482,482,482,482,482,482,482,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,483,484,484,484,484,485,485,486,486,486,486,486,486,486,486,486,486,486,486,487,487,487,487,487,487,488,488,488,488,489,489,489,489,489,489,489,489,489,489,489,489,490,490,490,490,490,490,491,491,491,491,491,491,491,491,492,492,492,492,493,493,493,493,493,493,493,493,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,495,495,496,496,496,496,497,497,498,498,498,498,498,498,498,498,498,498,498,498,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,499,500,500,501,501,501,501,501,501,502,502,502,502,502,502,503,503,503,503,503,503,504,504,504,504,505,505,505,505,505,505,506,506,507,507,507,507,507,507,507,507,507,507,507,507,508,508,508,508,509,509,509,509,509,509,509,509,509,509,509,509,510,510,511,511,511,511,511,511,511,511,511,511,512,512,513,513,513,513,513,513,513,513,513,513,513,513,513,513,513,513,514,514,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,516,516,516,516,516,516,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,517,518,518,518,518,518,518,518,518,518,518,518,518,518,518,518,518,519,519,519,519,519,519,519,519,520,520,520,520,521,521,522,522,522,522,523,523,524,524,524,524,524,524,524,524,524,524,524,524,525,525,525,525,525,525,525,525,525,525,526,526,526,526,526,526,526,526,527,527,527,527,527,527,527,527,527,527,527,527,528,528,528,528,528,528,529,529,529,529,529,529,529,529,529,529,530,530,531,531,531,531,532,532,532,532,532,532,533,533,534,534,534,534,534,534,535,535,535,535,535,535,535,535,535,535,536,536,537,537,537,537,537,537,537,537,537,537,537,537,538,538,538,538,538,538,538,538,538,538,539,539,540,540,540,540,540,540,540,540,540,540,541,541,541,541,541,541,541,541,541,541,541,541,541,541,542,542,542,542,542,542,543,543,543,543,544,544,544,544,544,544,545,545,545,545,545,545,545,545,546,546,546,546,546,546,547,547,547,547,547,547,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,549,549,549,549,549,549,549,549,549,549,549,549,550,550,551,551,551,551,552,552,552,552,552,552,552,552,552,552,552,552,552,552,553,553,553,553,553,553,554,554,554,554,555,555,555,555,555,555,555,555,556,556,556,556,556,556,556,556,556,556,557,557,558,558,558,558,558,558,559,559,559,559,559,559,560,560,560,560,560,560,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,561,562,562,562,562,562,562,563,563,564,564,564,564,564,564,564,564,564,564,565,565,565,565,565,565,565,565,565,565,565,565,565,565,566,566,566,566,567,567,567,567,567,567,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,569,569,570,570,570,570,570,570,570,570,570,570,571,571,571,571,571,571,571,571,571,571,571,571,571,571,572,572,572,572,573,573,574,574,574,574,574,574,574,574,574,574,575,575,575,575,575,575,575,575,575,575,575,575,575,575,576,576,576,576,577,577,577,577,577,577,577,577,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,579,579,579,579,580,580,580,580,580,580,581,581,582,582,582,582,583,583,583,583,583,583,584,584,585,585,585,585,585,585,585,585,585,585,585,585,586,586,586,586,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,589,589,589,589,589,589,589,589,589,589,589,589,590,590,591,591,591,591,592,592,592,592,592,592,593,593,593,593,593,593,594,594,595,595,595,595,595,595,596,596,596,596,596,596,596,596,596,596,596,596,596,596,596,596,596,596,596,596,596,596,597,597,598,598,598,598,598,598,599,599,599,599,599,599,599,599,599,599,599,599,599,599,599,599,600,600,600,600,600,600,601,601,601,601,601,601,601,601,601,601,601,601,602,602,603,603,603,604,604,604,605,605,605,605,605,605,605,605,605,605,605,605,606,606,606,606,606,606,606,606,606,606,606,606,606,606,606,606,607,607,608,608,608,608,609,609,609,609,609,609,610,610,610,610,610,610,610,610,610,610,610,610,610,610,611,611,611,611,612,612,613,613,613,613,613,613,613,613,613,613,613,613,613,613,613,613,613,613,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,614,615,615,615,615,615,615,615,615,615,615,616,616,616,616,616,616,617,617,618,618,618,618,618,618,618,618,618,618,619,619,620,620,620,620,620,620,620,620,620,620,621,621,622,622,622,622,622,622,622,622,622,622,623,623,623,623,623,623,624,624,625,625,625,625,625,625,625,625,625,625,626,626,627,627,627,627,627,627,627,627,627,627,628,628,628,628,628,628,629,629,629,629,629,629,629,629,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,630,631,631,631,631,631,631,631,631,631,631,632,632,633,633,633,633,633,633,633,633,633,633,634,634,634,634,634,634,634,634,635,635,635,635,635,635,636,636,636,636,636,636,636,636,636,636,637,637,637,637,637,637,637,637,637,637,637,637,637,637,637,637,637,637,638,638,638,638,638,638,639,639,639,639,639,639,639,639,639,639,639,639,640,640,640,640,640,640,640,640,640,640,640,640,641,641,642,642,642,642,642,642,642,642,642,642,642,642,642,642,642,642,642,642,643,643,643,643,643,643,644,644,644,644,645,645,645,645,645,645,646,646,646,646,646,646,647,647,647,647,647,647,647,647,647,647,647,647,647,647,647,647,647,647,648,648,649,649,649,649,649,649,650,650,650,650,651,651,651,651,651,651,651,651,651,651,651,651,651,651,652,652,652,652,652,652,653,653,653,653,654,654,655,655,655,655,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,657,657,658,658,658,658,658,658,658,658,658,658,658,658,659,659,659,659,659,659,660,660,660,660,660,660,660,660,660,660,660,660,660,660,660,660,661,661,661,661,661,661,661,661,662,662,662,662,662,662,663,663,663,663,663,663,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,665,665,665,665,665,665,665,665,665,665,665,665,665,665,665,665,666,666,667,667,667,667,668,668,668,668,668,668,669,669,670,670,670,670,670,670,671,671,671,671,671,671,672,672,672,672,672,672,672,672,672,672,673,673,673,673,673,673,674,674,674,674,674,674,674,674,674,674,674,674,675,675,675,675,675,675,675,675,675,675,675,675,676,676,676,676,676,676,676,676,676,676,676,676,676,676,676,676,676,676,677,677,678,678,678,678,678,678,679,679,679,679,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,681,681,681,681,681,681,681,681,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,682,683,683,683,683,684,684,685,685,685,685,686,686,686,686,686,686,687,687,688,688,688,688,688,688,688,688,688,688,688,688,689,689,689,689,690,690,690,690,690,690,690,690,690,690,690,690,690,690,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,691,692,692,692,692,692,692,692,692,692,692,693,693,693,693,693,693,694,694,694,694,694,694,694,694,694,694,694,694,695,695,695,695,695,695,695,695,695,695,695,695,695,695,696,696,696,696,696,696,697,697,697,697,698,698,698,698,698,698,699,699,699,699,699,699,699,699,699,699,699,699,700,700,701,701,701,701,702,702,702,702,702,702,703,703,703,703,703,703,703,703,704,704,704,704,704,704,705,705,705,705,705,705,705,705,705,705,706,706,707,707,707,707,708,708,708,708,708,708,708,708,708,708,708,708,708,708,709,709,709,709,709,709,710,710,710,710,710,710,711,711,711,711,712,712,712,712,712,712,713,713,714,714,714,714,714,714,714,714,714,714,715,715,716,716,716,716,716,716,716,716,716,716,716,716,716,716,716,716,717,717,718,718,718,718,718,718,718,718,718,718,719,719,719,719,719,719,719,719,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,721,721,721,721,722,722,722,722,722,722,723,723,723,723,723,723,723,723,723,723,723,723,724,724,725,725,725,725,725,725,726,726,726,726,726,726,727,727,727,727,727,727,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,729,729,729,729,729,729,730,730,730,730,730,730,730,730,730,730,730,730,730,730,731,731,731,731,732,732,732,732,732,732,732,732,733,733,733,733,733,733,733,733,733,733,734,734,734,734,734,734,734,734,735,735,735,735,735,735,735,735,735,735,735,735,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,737,737,737,737,738,738,739,739,739,739,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,741,741,741,741,741,741,741,741,741,741,741,741,742,742,742,742,742,742,743,743,744,744,744,744,744,744,744,744,744,744,744,744,744,744,744,744,745,745,745,745,745,745,746,746,746,746,746,746,747,747,747,747,747,747,747,747,747,747,747,747,747,747,748,748,748,748,748,748,749,749,749,749,750,750,750,750,750,750,750,750,750,750,750,750,750,750,751,751,751,751,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,752,753,753,753,753,753,753,754,754,754,754,754,754,755,755,755,755,755,755,756,756,756,756,756,756,756,756,757,757,757,757,757,757,758,758,758,758,759,759,760,760,760,760,760,760,760,760,760,760,760,760,761,761,761,761,761,761,762,762,762,762,763,763,764,764,764,764,764,764,765,765,765,765,765,765,765,765,765,765,765,765,765,765,765,765,765,765,765,765,765,765,766,766,766,766,766,766,767,767,768,768,768,768,769,769,769,769,769,769,769,769,769,769,769,769,769,769,769,769,769,769,770,770,771,771,771,771,772,772,772,772,772,772,772,772,772,772,772,772,773,773,774,774,774,774,774,774,775,775,775,775,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,777,777,777,777,777,777,778,778,778,778,778,778,779,779,779,779,780,780,780,780,780,780,780,780,781,781,781,781,781,781,781,781,781,781,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,782,783,783,783,783,783,783,783,783,783,783,783,783,783,783,783,783,784,784,785,785,785,785,785,785,786,786,786,786,787,787,788,788,788,788,789,789,790,790,790,790,790,790,790,790,790,790,791,791,791,791,791,791,791,791,791,791,791,791,791,791,792,792,792,792,792,792,793,793,793,793,794,794,794,794,794,794,794,794,795,795,795,795,795,795,795,795,795,795,796,796,796,796,796,796,797,797,797,797,797,797,797,797,797,797,797,797,797,797,797,797,797,797,797,797,798,798,798,798,799,799,800,800,800,800,800,800,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,802,802,802,802,803,803,803,803,803,803,803,803,804,804,804,804,804,804,804,804,804,804,805,805,805,805,805,805,806,806,806,806,806,806,807,807,807,807,807,807,807,807,808,808,808,808,808,808,809,809,809,809,809,809,809,809,809,809,809,809,810,810,810,810,811,811,811,811,811,811,812,812,813,813,813,813,813,813,814,814,814,814,815,815,815,815,815,815,816,816,817,817,817,817,817,817,817,817,817,817,818,818,819,819,819,819,819,819,819,819,819,819,819,819,819,819,819,819,820,820,820,820,820,820,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,821,822,822,822,822,823,823,823,823,823,823,823,823,823,823,823,823,824,824,824,824,824,824,824,824,824,824,824,824,824,824,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,826,826,826,826,826,826,827,827,827,827,827,827,827,827,827,827,827,827,827,827,827,827,827,827,827,827,828,828,828,828,829,829,829,829,829,829,829,829,829,829,829,829,829,829,829,829,829,829,830,830,830,830,830,830,830,830,831,831,831,831,831,831,832,832,832,832,833,833,833,833,833,833,834,834,834,834,834,834,834,834,834,834,834,834,834,834,835,835,835,835,835,835,836,836,836,836,836,836,837,837,837,837,837,837,837,837,837,837,838,838,839,839,839,839,839,839,839,839,839,839,840,840,840,840,840,840,840,840,840,840,840,840,841,841,841,841,841,841,841,841,842,842,842,842,842,842,842,842,842,842,843,843,844,844,844,844,844,844,844,844,844,844,845,845,845,845,845,845,845,845,846,846,846,846,846,846,846,846,846,846,846,846,847,847,847,847,847,847,847,847,847,847,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,848,849,849,850,850,850,850,851,851,851,851,851,851,851,851,852,852,852,852,852,852,853,853,853,853,854,854,854,854,854,854,854,854,855,855,855,855,855,855,855,855,855,855,855,855,856,856,856,856,856,856,857,857,857,857,857,857,857,857,857,857,858,858,858,858,858,858,859,859,859,859,859,859,860,860,861,861,861,861,861,861,862,862,862,862,862,862,862,862,862,862,863,863,863,863,863,863,863,863,863,863,863,863,864,864,865,865,865,865,865,865,865,865,865,865,866,866,866,866,866,866,867,867,867,867,867,867,868,868,868,868,868,868,869,869,869,869,869,869,869,869,870,870,870,870,870,870,871,871,871,871,871,871,871,871,871,871,872,872,872,872,872,872,873,873,874,874,874,874,874,874,875,875,875,875,875,875,876,876,876,876,876,876,877,877,877,877,877,877,877,877,877,877,878,878,878,878,878,878,878,878,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,879,880,880,880,880,880,880,881,881,881,881,881,881,881,881,881,881,881,881,881,881,881,881,881,881,881,881,881,881,882,882,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,883,884,884,884,884,885,885,885,885,885,885,885,885,886,886,886,886,886,886,886,886,886,886,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,887,888,888,888,888,888,888,888,888,889,889,889,889,889,889,889,889,889,889,889,889,889,889,889,889,889,889,890,890,890,890,891,891,892,892,892,892,892,892,892,892,893,893,894,894,894,894,894,894,895,895,896,896,896,896,896,896,897,897,897,897,898,898,898,898,898,898,898,898,898,898,898,898,898,898,898,898,898,898,899,899,899,899,899,899,899,899,900,900,900,900,900,900,900,900,900,900,900,900,901,901,901,901,901,901,901,901,901,901,901,901,901,901,901,901,901,901,902,902,902,902,902,902,902,902,902,902,902,902,902,902,902,902,903,903,903,903,903,903,904,904,905,905,905,905,905,905,905,905,905,905,905,905,906,906,906,906,906,906,907,907,907,907,907,907,907,907,907,907,908,908,909,909,909,909,909,909,909,909,909,909,910,910,911,911,911,911,911,911,912,912,912,912,912,912,912,912,912,912,913,913,913,913,913,913,913,913,913,913,913,913,913,913,914,914,914,914,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,915,916,916,917,917,917,917,917,917,917,917,917,917,917,917,917,917,917,917,918,918,919,919,919,919,919,919,919,919,919,919,920,920,921,921,921,921,921,921,921,921,921,921,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,922,923,923,923,923,924,924,925,925,925,925,926,926,926,926,926,926,926,926,927,927,927,927,927,927,927,927,927,927,927,927,927,927,927,927,928,928,929,929,929,929,930,930,930,930,930,930,931,931,932,932,932,932,932,932,932,932,932,932,932,932,933,933,933,933,933,933,934,934,934,934,934,934,934,934,934,934,935,935,935,935,935,935,935,935,936,936,936,936,937,937,937,937,937,937,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,939,939,940,940,940,940,940,940,940,940,940,940,941,941,942,942,942,942,942,942,943,943,943,943,944,944,944,944,944,944,945,945,945,945,945,945,946,946,946,946,946,946,946,946,947,947,947,947,947,947,948,948,948,948,949,949,949,949,949,949,949,949,949,949,949,949,950,950,950,950,950,950,951,951,951,951,951,951,951,951,952,952,952,952,952,952,952,952,952,952,952,952,953,953,953,953,954,954,954,954,954,954,954,954,954,954,954,954,954,954,955,955,955,955,955,955,955,955,955,955,955,955,956,956,956,956,956,956,956,956,956,956,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,958,958,958,958,958,958,959,959,959,959,959,959,959,959,959,959,959,959,960,960,960,960,960,960,961,961,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,963,963,963,963,963,963,963,963,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,965,965,965,965,965,965,965,965,965,965,966,966,966,966,966,966,967,967,967,967,967,967,967,967,967,967,967,967,967,967,968,968,968,968,969,969,970,970,970,970,970,970,971,971,971,971,971,971,971,971,971,971,972,972,972,972,972,972,972,972,973,973,973,973,973,973,974,974,974,974,975,975,975,975,975,975,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,977,977,977,977,977,977,977,977,977,977,977,977,977,977,978,978,978,978,978,978,978,978,978,978,979,979,980,980,980,980,980,980,980,980,980,980,980,980,981,981,981,981,981,981,981,981,981,981,982,982,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,984,984,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,988,988,988,988,988,988,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,991,991,991,991,991,991,992,992,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,994,994,994,994,995,995,995,995,995,995,996,996,997,997,997,997,997,997,997,997,997,997,998,998,998,998,998,998,998,998,999,999,999,999,999,999,999,999,999,999,1000,1000,1000,1000,1000,1000,1001,1001,1001,1001,1001,1001,1002,1002,1002,1002,1002,1002,1002,1002,1003,1003,1003,1003,1004,1004,1004,1004,1004,1004,1005,1005,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1007,1007,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1009,1009,1009,1009,1010,1010,1010,1010,1010,1010,1011,1011,1011,1011,1011,1011,1012,1012,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1014,1014,1014,1014,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1017,1017,1017,1017,1018,1018,1018,1018,1018,1018,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1020,1020,1020,1020,1021,1021,1021,1021,1021,1021,1021,1021,1022,1022,1022,1022,1022,1022,1023,1023,1023,1023,1024,1024,1024,1024,1024,1024,1024,1024,1025,1025,1025,1025,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1027,1027,1027,1027,1027,1027,1028,1028,1028,1028,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1031,1031,1031,1031,1032,1032,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1034,1034,1034,1034,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1036,1036,1036,1036,1036,1036,1037,1037,1037,1037,1037,1037,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1041,1041,1041,1041,1041,1041,1042,1042,1042,1042,1043,1043,1044,1044,1044,1044,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1046,1046,1046,1046,1046,1046,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1048,1048,1049,1049,1049,1049,1049,1049,1050,1050,1050,1050,1050,1050,1051,1051,1051,1051,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1053,1053,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1057,1057,1058,1058,1058,1058,1058,1058,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1061,1061,1061,1061,1061,1061,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1064,1064,1064,1064,1064,1064,1065,1065,1066,1066,1066,1066,1067,1067,1067,1067,1067,1067,1067,1067,1068,1068,1068,1068,1068,1068,1068,1068,1068,1068,1069,1069,1069,1069,1069,1069,1070,1070,1070,1070,1070,1070,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1073,1073,1073,1073,1073,1073,1074,1074,1074,1074,1075,1075,1075,1075,1075,1075,1075,1075,1076,1076,1076,1076,1076,1076,1076,1076,1076,1076,1076,1076,1077,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1079,1079,1079,1079,1079,1079,1079,1079,1079,1079,1080,1080,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1082,1082,1083,1083,1083,1083,1084,1084,1084,1084,1084,1084,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1086,1086,1086,1086,1086,1086,1087,1087,1087,1087,1088,1088,1088,1088,1088,1088,1088,1088,1088,1088,1088,1088,1088,1088,1089,1089,1089,1089,1090,1090,1091,1091,1091,1091,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1093,1093,1093,1093,1093,1093,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1097,1097,1097,1097,1097,1097,1098,1098,1098,1098,1098,1098,1098,1098,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1100,1100,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1102,1102,1102,1102,1103,1103,1103,1103,1103,1103,1104,1104,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1106,1106,1106,1106,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1108,1108,1108,1108,1108,1108,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1111,1111,1111,1111,1111,1111,1111,1111,1112,1112,1112,1112,1112,1112,1113,1113,1113,1113,1113,1113,1113,1113,1113,1113,1114,1114,1115,1115,1115,1115,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1117,1117,1117,1117,1117,1117,1117,1117,1117,1117,1118,1118,1118,1118,1118,1118,1118,1118,1119,1119,1119,1119,1119,1119,1119,1119,1119,1119,1119,1119,1119,1119,1119,1119,1120,1120,1121,1121,1121,1121,1121,1121,1121,1121,1121,1121,1122,1122,1122,1122,1122,1122,1122,1122,1122,1122,1122,1122,1122,1122,1123,1123,1123,1123,1124,1124,1125,1125,1125,1125,1125,1125,1125,1125,1125,1125,1125,1125,1126,1126,1126,1126,1126,1126,1127,1127,1127,1127,1127,1127,1127,1127,1127,1127,1127,1127,1127,1127,1127,1127,1128,1128,1128,1128,1128,1128,1129,1129,1129,1129,1129,1129,1129,1129,1130,1130,1130,1130,1131,1131,1131,1131,1131,1131,1131,1131,1132,1132,1132,1132,1133,1133,1133,1133,1133,1133,1134,1134,1134,1134,1134,1134,1134,1134,1135,1135,1135,1135,1135,1135,1136,1136,1136,1136,1136,1136,1137,1137,1137,1137,1137,1137,1137,1137,1137,1137,1137,1137,1138,1138,1138,1138,1138,1138,1139,1139,1139,1139,1140,1140,1140,1140,1140,1140,1141,1141,1141,1141,1141,1141,1142,1142,1142,1142,1142,1142,1142,1142,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1144,1144,1144,1144,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1146,1146,1146,1146,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1148,1148,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1150,1150,1150,1150,1150,1150,1151,1151,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1154,1154,1155,1155,1155,1155,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1157,1157,1157,1157,1157,1157,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1159,1159,1159,1159,1159,1159,1160,1160,1160,1160,1161,1161,1161,1161,1161,1161,1161,1161,1162,1162,1162,1162,1162,1162,1162,1162,1162,1162,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,1163,1164,1164,1164,1164,1164,1164,1165,1165,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1166,1167,1167,1168,1168,1168,1168,1168,1168,1169,1169,1169,1169,1170,1170,1171,1171,1171,1171,1171,1171,1171,1171,1171,1171,1171,1171,1171,1171,1171,1171,1172,1172,1172,1172,1172,1172,1172,1172,1172,1172,1172,1172,1173,1173,1174,1174,1174,1174,1174,1174,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1176,1176,1176,1176,1176,1176,1176,1176,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1177,1178,1178,1178,1178,1178,1178,1178,1178,1178,1178,1178,1178,1179,1179,1179,1179,1179,1179,1180,1180,1180,1180,1180,1180,1180,1180,1180,1180,1180,1180,1180,1180,1180,1180,1180,1180,1181,1181,1181,1181,1181,1181,1182,1182,1182,1182,1183,1183,1183,1183,1183,1183,1183,1183,1183,1183,1183,1183,1183,1183,1184,1184,1184,1184,1184,1184,1185,1185,1185,1185,1186,1186,1186,1186,1186,1186,1186,1186,1186,1186,1186,1186,1187,1187,1187,1187,1187,1187,1187,1187,1188,1188,1188,1188,1188,1188,1189,1189,1189,1189,1189,1189,1189,1189,1189,1189,1189,1189,1190,1190,1190,1190,1191,1191,1191,1191,1191,1191,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1193,1193,1193,1193,1193,1193,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,1194,1195,1195,1196,1196,1196,1196,1196,1196,1196,1196,1196,1196,1196,1196,1196,1196,1196,1196,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1197,1198,1198,1198,1198,1199,1199,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1202,1202,1202,1202,1202,1202,1202,1202,1203,1203,1203,1203,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1205,1205,1205,1205,1206,1206,1207,1207,1207,1207,1207,1207,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1209,1209,1209,1209,1209,1209,1210,1210,1210,1210,1210,1210,1210,1210,1210,1210,1210,1210,1210,1210,1211,1211,1211,1211,1211,1211,1212,1212,1212,1212,1212,1212,1213,1213,1213,1213,1213,1213,1214,1214,1214,1214,1215,1215,1215,1215,1215,1215,1216,1216,1217,1217,1217,1217,1217,1217,1217,1217,1217,1217,1218,1218,1219,1219,1219,1219,1220,1220,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1222,1222,1223,1223,1223,1223,1224,1224,1224,1224,1224,1224,1225,1225,1225,1225,1225,1225,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1227,1227,1227,1227,1227,1227,1228,1228,1228,1228,1228,1228,1228,1228,1228,1228,1228,1228,1228,1228,1229,1229,1229,1229,1229,1229,1229,1229,1229,1229,1230,1230,1230,1230,1230,1230,1230,1230,1230,1230,1230,1230,1231,1231,1231,1231,1231,1231,1232,1232,1232,1232,1232,1232,1232,1232,1233,1233,1233,1233,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1234,1235,1235,1235,1235,1235,1235,1235,1235,1235,1235,1235,1235,1235,1235,1236,1236,1236,1236,1236,1236,1236,1236,1236,1236,1236,1236,1237,1237,1237,1237,1237,1237,1238,1238,1238,1238,1239,1239,1239,1239,1239,1239,1240,1240,1241,1241,1241,1241,1241,1241,1241,1241,1241,1241,1241,1241,1242,1242,1242,1242,1242,1242,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1243,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1244,1245,1245,1246,1246,1246,1246,1246,1246,1246,1246,1246,1246,1247,1247,1247,1247,1247,1247,1247,1247,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1248,1249,1249,1250,1250,1250,1250,1250,1250,1250,1250,1250,1250,1250,1250,1251,1251,1251,1251,1251,1251,1252,1252,1252,1252,1253,1253,1253,1253,1253,1253,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1255,1255,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1257,1257,1257,1257,1257,1257,1258,1258,1258,1258,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1260,1260,1260,1260,1260,1260,1260,1260,1261,1261,1261,1261,1261,1261,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1263,1263,1263,1263,1264,1264,1264,1264,1264,1264,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1266,1266,1266,1266,1266,1266,1267,1267,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1270,1270,1270,1270,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1272,1272,1272,1272,1272,1272,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1274,1274,1274,1274,1274,1274,1275,1275,1276,1276,1276,1276,1276,1276,1276,1276,1276,1276,1277,1277,1277,1277,1277,1277,1277,1277,1278,1278,1278,1278,1278,1278,1278,1278,1278,1278,1278,1278,1278,1278,1278,1278,1278,1278,1279,1279,1279,1279,1279,1279,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280,1280};
    cout << db[n];
    return 0;
}
发表于 2019-04-07 19:18:34 回复(1)
#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 10010;

int primes[N], cnt;
bool st[N];
int n;

void get_primes() {
    for(int i=2; i<=n; i++) {
        if(!st[i]) primes[cnt++] = i;
        for(int j=0; primes[j] <= n/i; j++){
            st[primes[j]*i] = true;
            if(i % primes[j] == 0) break;
        }
    }
}

int get(int x) {
    int cnt = 0, a = x;
    while(a <= n) {
        cnt ++;
        a *= x;
    }
    return cnt;
}

int main() {
    cin >> n;
    get_primes();
    int res = 0;
    for(int i=0; i<cnt; i++) {
        res += get(primes[i]);
    }
    cout << res << endl;
    return 0;
}


发表于 2021-10-29 16:40:34 回复(0)
x = int(input())
num = 0
for i in range(2, x+1):
    flag = True
    count = 0
    for j in range(2, i+1):
        if i % j == 0:
           count += 1
        if count >= 2:
            flag = False
            break
    if flag:
        num += 1
        y = i ** 2
        while y <= x:
            num += 1
            y *= i
print(num)
耗时较长,1594ms
发表于 2019-07-10 22:09:30 回复(0)
#include<stdio.h>
#include<math.h>
int main()
{
    int num;
    scanf("%d", &num);
    int sum = 0;
    for(int i = 2, j; i <= num; ++i) {
        bool b = true;
        for(j = 2; j <= sqrt(i); ++j)
            if(i % j == 0) {
                b = false;
                break;
            }
        if(b) {
            ++sum;
            int m = i * i;
            while(m < num) {
                ++sum;
                m *= i;
            }
        }
    }
    printf("%d\n", sum);
    return 0;
}
发表于 2019-05-04 20:31:07 回复(0)
#include <stdio.h>
#include <math.h>

int main()
{
    int n;
    scanf("%d",&n);
    if(n<2)
        printf('0');
    int count = 0;
    for(int i = 2;i <= n;i++)
    {
        int flag = 1;
        for(int j = 2;j <= sqrt(i);j++)
        {
            if(i%j == 0)
            {
                flag = 0;
                break;
            }
            
        }
        if(flag)
        {
            for(int k = 1;k < 20;k++)
            {
                if(pow(i,k) <= n)
            {
                ++count;
            }
                else
                    break;
            }
        }
    }
    printf("%d\n",count);
    return 0;
}

发表于 2019-04-17 16:25:47 回复(0)
#include <stdio.h>

bool prime[100000];    // 定义一个 bool 类型的数组,用来简化运算。
int  a[100000],cot=0,d,len=0;        //定义一个 数组用来储存,已经确定是素数的数。当然,a数组中的素数数目,显然会小于N的大小。
void  sushu (int N)        //用此函数可以快速的判断2到N有哪些数是素数,
{
    for(int i = 2; i <=N; i ++) prime[i] = true;
    for(int i=2;i*i<=N;i++)     //这里 为什么是i*i 是用到了之前的数学推论
{
    if(prime[i])         //用来判断i是否是素数
        {
//将素数 全部储存下来。
            for(int j=i*i;j<=N;j+=i)    //将i 的倍数 即非素数 ,全部赋为假,至于这里为什么 是从 i*i开始而不是从i的两倍开始,是
        {
            //比如 2是质数,那么4,6,8,10,12...都不是质数,,,然后看3是质数,那么6,9,12,15,18,21...都不是质数,中间如果每次从 2*i开始的

            prime[j]=false;
            }
        }
    }
    for(int i=2;i<=N;i++)
     if(prime[i])  a[++cot]=i;  // 遍历一遍 prime 数组,将所有的素数全部存下来。

}
int main ()
{
    int sum=1;
    scanf("%d",&d);
    sushu(d);
    for(int i=1; i<=cot; i++)
    {
        sum=a[i];
        for(;sum<=d;)    //只要素数的 n次方也小于 输入的整数,也算作方幂。
        {
            len++;
            sum*=a[i];
        }
    }
     printf("%d",len);
    return 0;
}


编辑于 2019-04-05 15:37:56 回复(0)
#include<iostream>
#include<math.h>
#include<vector>
using namespace std;
bool isTarget(int i, vector<int>& re);
bool isParm(int i,vector<int>& re);
bool isDiv(int i,int j);
int main(){
    int n,count;
    vector<int> ve;
    count = 0;
    cin >> n;
    for(int i = 1;i <= n;i++){
        if(isTarget(i,ve)){
            count++;
        }
    }
    cout << count << endl;
}
//是素数的方幂 
bool isTarget(int i,vector<int>& ve){
    if(isParm(i,ve)){
        ve.push_back(i);
        return true;
    }else{
        //不是素数的情况
        int sq = sqrt(i);
        for(vector<int>::iterator it = ve.begin();it != ve.end() && *it <= sq;it++){
            if(isDiv(i,*it)){
                return true;    
            }
        }
        return false;
    }
}
bool isParm(int i,vector<int>& ve){
    if( i == 1)
        return false;
    for(vector<int>::iterator it = ve.begin();it != ve.end();it++){
        if(i % (*it) == 0){
            return false;
        }
    }
    return true;
}
bool isDiv(int i,int j){
    int tmp = 1;
    while(tmp < i){
        tmp = tmp * j;
    }
    if( tmp == i){
        return true;
    }else{
        return false;
    }
}

发表于 2019-03-30 20:56:51 回复(0)
首先判断小于n的这个数是否为素数,如果是素数,求这个数的1--j次幂,如果这个数的j次幂小于n,那么计数器做一次自增。

#include<iostream>
#include<math.h>
using namespace std;

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

int main()
{
    int n;
    cin >> n;
    int i, count = 0;
    for (i = 2; i <= n; i++)
    {
        if (sushu(i))
        {
            for (int j = 1; pow(i, j) <= n; j++)
                count++;
        }
    }
    cout << count << endl;
}
发表于 2019-01-20 14:19:16 回复(0)

先找出范围内的素数,然后再素数的基础上乘方进行判断是否在规定的范围,如果在规定的范围,就在原来范围内素数的基础上加1,若果超过范围,则继续判断下一个。代码如下:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const int maxn=10001;
bool judge(int n)
{
    for(int i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)
        {
            return false;
        }
    }
    return true;
}
int main()
{
    int n;
    while(cin>>n)
    {
        int prime_number[maxn];
        int j=0;
        for(int i=2;i<=n;i++)
        {
            if(judge(i))
            {
                prime_number[j++]=i;
            }
        }
        int out=j; 
        for(int k=0;k<j;k++)
        {
            int temp=prime_number[k];
            for(int count=1;count>0;count++)
            {
                temp*=prime_number[k];
                if(temp<n)
                {
                    out++;
                }
                if(temp>n)
                {
                    break;
                }
            }
        }
        cout<<out<<endl;
    }
}
编辑于 2019-01-13 20:26:11 回复(0)

问题信息

上传者:小小
难度:
14条回答 4187浏览

热门推荐

通过挑战的用户

查看代码