找一找五十至一百的自然数中的所有质数.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找一找五十至一百的自然数中的所有质数.相关的知识,希望对你有一定的参考价值。

在50——100里面,质数有:53、59、61、67、71、73、79、83、89、97;一共是10个。

质数具有许多独特的性质:

1、质数p的约数只有两个:1和p。

2、初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。

3、质数的个数是无限的。

扩展资料:

自然数可分为质数、合数、1和0。

1、质 数:只有1和它本身这两个因数的自然数叫做质数,也称作素数。

2、合 数:除了1和它本身还有其它的因数的自然数叫做合数。

3、1:只有1个因数。它既不是质数也不是合数。

4、当然0不能计算因数,和1一样,也不是质数也不是合数。

备注:这里是因数不是约数。

参考技术A 在50——100里面,质数有:
53、59、61、67、71、73、79、83、89、97;
一共是10个.

合数有:
50、51、52、54、55、56、57、58、60、62、63、64、65、66、68、69、70、72、74、75、76、77、78、80、81、82、84、85、86、87、88、90、91、92、93、94、95、96、98、99、100.
一共是41个。

供参考。
参考技术B 53、59、61、67、71、73、79、83、89、97一共十个 参考技术C 有十个,质数的特征是一和质数的特征是一和他。 参考技术D 53 57 61 67 71 73 79 83 87 97

找一找(斐波那契数列)

题目要求:给定n个正整数,请找出其中有多少个数x满足:在这n个数中存在数y,使y=kx,其中k为大于1的整数

输入描述 : 第一行输入一个n,接下来一行输入n个正整数ai

输出描述输出符合条件个数

示例:

输入
5
1 2 3 4 5
输出
2
说明
5个数中1和2符合条件,1是后面每个数的因子,2是4的因子
备注:
1≤n,ai≤1000000
解决1:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<cmath>
using namespace std;
const int N = 1000005;
int cc[N];
bool can[N];
int getint()
{
    char ch=getchar();
    int res=0;
    while((ch<0 || ch>9) && ch!=-)
        ch=getchar();
    bool neg=0;
    if(ch==-)
    {
        neg=1;
        ch=getchar();
    }
    while(0<=ch && ch<=9)
    {
        res=res*10+ch-0;
        ch=getchar();
    }
    if(neg)
        res=-res;
    return res;
}
int main()
{
    int n,i,j;
    n=getint();
    for(i=1;i<=n;i++)
    {
        int now=getint();
        cc[now]++;
    }
    int ans=0;
    for(i=1;i<N;i++)
    {
        for(j=i+i;j<N;j+=i)
        {
            if(cc[j])
                can[i]=1;
        }
    }
    for(i=1;i<N;i++)
    {
        if(can[i])
            ans+=cc[i];
    }
    cout<<ans<<endl;
    return 0;
}
解决2:
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[1000001],b[2000001];
int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
        b[a[i]]++;
    }
    int sum=0;
    sort(a,a+n);
    for(i=1;i<a[n-1];i++){
        if(b[i]){
           for(int j=2;i*j<=a[n-1];j++)
            if(b[i*j])
            {sum+=b[i];break;}
        }
         
    }
    printf("%d\n",sum);
}

以上是关于找一找五十至一百的自然数中的所有质数.的主要内容,如果未能解决你的问题,请参考以下文章

求1到100以内的素数(质数)

质数(prime number)占自然数的百分比

1到100的质数表

1—100中所有的质数?

输出100之间的所有质数(素数)

C语言试题五十四之求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。