wikioi 1430 素数判定
/*======================================================================
题目描述 Description
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一。基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等。算术基本定理证明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的。这个定理的重要一点是,将1排斥在素数集合以外。如果1被认为是素数,那么这些严格的阐述就不得不加上一些限制条件。
概念
只有1和它本身两个约数的自然数,叫质数(Prime Number)。(如:由2÷1=2,2÷2=1,可知2的约数只有1和它本身2这两个约数,所以2就是质数。与之相对立的是合数:“除了1和它本身两个约数外,还有其它约数的数,叫合数。”如:4÷1=4,4÷2=2,4÷4=1,很显然,4的约数除了1和它本身4这两个约数以外,还有约数2,所以4是合数。)
100以内的质数有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,在100内共有25个质数。
注:(1)1既不是质数也不是合数。因为它的约数有且只有1这一个约数。
(2)2和3是所有素数中唯一两个连着的数 . 输入描述 Input Description
第一行输入一个正整数n,n<=30000 输出描述 Output Description
如果该数是质数,则输出\t
否则输出\n
样例输入 Sample Input
输入样例1
13
输入样例2
8
样例输出 Sample Output
样例输出1
\t
样例输出2
\n ========================================================================*/
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,t;
scanf("%d",&n);
t=sqrt(n);
for(i=;i<=t;i++)
{
if(n%i==)
break;
}
if(i>t) printf("\\t\n");
else printf("\\n\n");
return ;
}
/*-----------------------------------------------------
题目描述:
素数又称质数。指在一个大于1的自然数中,除了1和此整数自身外,
不能被其他自然数整除的数。素数在数论中有着很重要的地位。
你的任务是求出比n小的所有素数。
关于输入:
一个整数n (3<=n<1000)
关于输出:
所有比n小的素数,每个素数占一行
-------------------------------------------------------*/
#include<stdio.h>
int main()
{
int n,i,j,a[];
scanf("%d",&n);
for(i=;i<n;i++)
{
a[i]=i;
}
for(i=;i<n;i++)
{
for(j=i+;j<n;j++)
{
if(a[j]!=&&j%i==) a[j]=;
}
}
for(i=;i<n;i++)
{
if(a[i]!=) printf("%d\n",a[i]);
}
return ;
}
/*======================================================================
预先把一个范围内所有的质数求出来存储到数组当中。
需要判断则检查是否在数组内部。
========================================================================*/
#include<stdio.h>
#include<math.h>
int isPrime(int n);//判断n是否质数:是则返回1,否则返回0
void fun(int n);//把小于或等于n的所有质数输出到文件prime.in
int main()
{
fun();
return ;
}
int isPrime(int n)//判断n是否质数:是则返回1,否则返回0
{
int i,t;
if(n<) return -;
t=sqrt(n);
for(i=;i<=t;i++)
{
if(n%i==)
break;
}
if(i>t) return ;
else return ;
}
void fun(int n)//把小于或等于n的所有质数输出到文件prime.in 。在具体应用当中可以调用该函数先输出到文件形成静态数组的数据,接着复制数据到代码当中的数组赋值语句当中。再有判断质数的即可直接查找数组了。
{
int i,first=;;
FILE *p;
p=fopen("prime.in","w");
for(i=;i<=n;i++)
{
if(isPrime(i)==)
{
if(first==)
{
first=;
fprintf(p,"%d",i);
}
else fprintf(p,",%d",i);
}
}
}
wikioi 1430 素数判定的更多相关文章
- codevs——1430 素数判定
1430 素数判定 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 青铜 Bronze 题解 题目描述 Description 质数又称素数.指在一个大于1的自然数中, ...
- FZU 1649 Prime number or not米勒拉宾大素数判定方法。
C - Prime number or not Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & % ...
- HDOJ2012素数判定
素数判定 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- algorithm@ 大素数判定和大整数质因数分解
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #in ...
- Codevs 1702 素数判定 2(Fermat定理)
1702 素数判定 2 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 传送门 题目描述 Description 一个数,他是素数么? 设他为P满足(P< ...
- hdu 2012 素数判定 Miller_Rabbin
素数判定 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 素数判定 AC 杭电
素数判定 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 杭电ACM 素数判定
素数判定 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 数学#素数判定Miller_Rabin+大数因数分解Pollard_rho算法 POJ 1811&2429
素数判定Miller_Rabin算法详解: http://blog.csdn.net/maxichu/article/details/45458569 大数因数分解Pollard_rho算法详解: h ...
随机推荐
- C++之创建对象时的new与不new
C++在创建对象的时候可以采用两种方式:(例如类名为Test) Test test 或者 Test* pTest = new Test(). 这两种方法都可以实例化一个对象,但是这两种方法有很大的区 ...
- 6、C#基础整理(for 语句经典习题--for循环嵌套、穷举)
1.for循环嵌套----最基础题目:求阶乘的和 ; int n = int.Parse(Console.ReadLine()); ; i < n; i++) { ;//定义变量sum1,每次循 ...
- 【转】博弈问题及SG函数(真的很经典)
博弈问题若你想仔细学习博弈论,我强烈推荐加利福尼亚大学的Thomas S. Ferguson教授精心撰写并免费提供的这份教材,它使我受益太多.(如果你的英文水平不足以阅读它,我只能说,恐怕你还没到需要 ...
- ios开发环境 分支语句 、 循环结构(for) 、 循环结构
1 完成命令解析程序 1.1 问题 有命令解析程序,该程序提供三个功能选项供用户选择,用户选择某功能后,程序在界面上输出用户所选择的功能名称.程序的交互效果如图-1所示: 图-1 由上图可以看出,程序 ...
- LeetCode Unique Paths (简单DP)
题意: 给出一个m*n的矩阵,robot要从[1][1]走到[m][n],每次只能往下/右走,问有多少种走法? 思路: DP的经典问题.先将[1][1]设为1,然后两种走法就是分别用[i][j]去更新 ...
- chromium 安装 pepper flash player
打开终端,输入以下命令即可安装: 1. sudo apt-get update 2. sudo apt-get install chromium-browser 3. sudo apt-get ins ...
- 简明python教程 --C++程序员的视角(九):函数式编程、特殊类方法、测试及其他
函数式编程 Lambda exec,eval和assert语句,repr函数 lambda语句 用来创建简短的单行匿名函数 print_assign = lambda name, value: n ...
- ORA-12545: 因目标主机或对象不存在, 连接失败
ORA-12545: 因目标主机或对象不存在, 连接失败 1. 问题描述 XP系统下同时安装了AX1应用程序和升级版AX2,连接同一个在本机Oracle客户端上配置的连接实例,其中AX2显示链接成功, ...
- 【转】How-To-Ask-Questions-The-Smart-Way
提问的智慧 How To Ask Questions The Smart Way Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen 本指南英文 ...
- 徹底刪除atom
rm -f ~/.atom rm -f /usr/local/bin/atom rm -f /usr/local/bin/apm rm -f /Applications/Atom.app rm -f ...