C/C++教程

c语言之小于m的最大的10个素数

本文主要是介绍c语言之小于m的最大的10个素数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

描述

给定一个整数m,找出小于m的最大的10个素数。

输入

一个正整数m( 30 \leq m \leq 2000030≤m≤20000 )。

输出

在一行中按递减顺序输出10个满足条件的素数,相互之间用1个空格隔开。

输入样例 1 

229

输出样例 1

227 223 211 199 197 193 191 181 179 173

#include <stdio.h>
#include <math.h>
int f(int a)
{   int i;
    for(i=2;i<=sqrt(a);i++)
    {
        if(a%i==0) 
        break;
        
    }
    if(i>sqrt(a))
    return 1;
    else return 0;
     
    
    
    
}
int main(int argc,char *argv[])
{
  int m,k=0,i;
  scanf("%d",&m);
  for(i=m-1;i>=2;i--)
  {
      if(f(i))
      { if(k!=0)
      printf(" ");
      printf("%d",i);
      k++;
      }
      if(k==10)
      break;
      
      
  }
}

写了个函数判断是否是素数,不喜欢写得太集中却没有注释,至于我为什么不写注释,因为我懒。

这篇关于c语言之小于m的最大的10个素数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!