1. 对素数相关的知识理解预处理
2009-11-02 17:30
162 查看
http://www.kuqin.com/tiku/20080424/7553.html
素数的定义:素数就是仅能衩1和它自身整除的整数
题目1:求素数表中1~1000之间的所有素数。
题目2:请找出十个最小的连续自然数,它们个个都是合数(非素数)
*问题分析与算法设计
素数就是仅能衩1和它自身整除的整数。判定一个整数n是否为素数就是要判定整数n能否被除1和它自身之外的任意整数整除,若都不能整除,则n为素数。
程序设计时i可以从2开始,到该整数n的1/2为止,用i依次去除需要判定的整数,只要存在可以整除该数的情况,即可确定要判断的整数不是素数,否则是素数。
*程序说明与注释
#include<stdio.h>
int main()
{
int n1,nm,i,j,flag,count=0;
do{
printf("Input START and END=?");
scanf("%d%d",&n1,&nm); /*输入求素数的范围*/
}while(!(n1>0&&n1<nm)); /*输入正确的范围*/
printf("...........PRIME TABLE(%d--%d)............\n",n1,nm);
if(n1==1||n1==2) /*处理素数2*/
{
printf("%4d",2);
n1=3;count++;
}
for(i=n1;i<=nm;i++) /*判定指定范围内的整数是否为素数*/
{
if(!(i%2))continue;
for(flag=1,j=3;flag&&j<i/2;j+=2)
/*判定能否被从3到整数的一半中的某一数所整除*/
if(!(i%j))flag=0; /*若能整除则不是素数*/
if(flag) printf(++count%15?"%4d":"%4d\n",i);
}
}本文出自 “Carpe Diem....” 博客,请务必保留此出处http://luisliu.blog.51cto.com/883990/220947
素数的定义:素数就是仅能衩1和它自身整除的整数
题目1:求素数表中1~1000之间的所有素数。
题目2:请找出十个最小的连续自然数,它们个个都是合数(非素数)
*问题分析与算法设计
素数就是仅能衩1和它自身整除的整数。判定一个整数n是否为素数就是要判定整数n能否被除1和它自身之外的任意整数整除,若都不能整除,则n为素数。
程序设计时i可以从2开始,到该整数n的1/2为止,用i依次去除需要判定的整数,只要存在可以整除该数的情况,即可确定要判断的整数不是素数,否则是素数。
*程序说明与注释
#include<stdio.h>
int main()
{
int n1,nm,i,j,flag,count=0;
do{
printf("Input START and END=?");
scanf("%d%d",&n1,&nm); /*输入求素数的范围*/
}while(!(n1>0&&n1<nm)); /*输入正确的范围*/
printf("...........PRIME TABLE(%d--%d)............\n",n1,nm);
if(n1==1||n1==2) /*处理素数2*/
{
printf("%4d",2);
n1=3;count++;
}
for(i=n1;i<=nm;i++) /*判定指定范围内的整数是否为素数*/
{
if(!(i%2))continue;
for(flag=1,j=3;flag&&j<i/2;j+=2)
/*判定能否被从3到整数的一半中的某一数所整除*/
if(!(i%j))flag=0; /*若能整除则不是素数*/
if(flag) printf(++count%15?"%4d":"%4d\n",i);
}
}本文出自 “Carpe Diem....” 博客,请务必保留此出处http://luisliu.blog.51cto.com/883990/220947
相关文章推荐
- 理解openstack中与虚拟机相关一些简单网络知识-1.TUN/TAP network interfaces
- 素数相关知识
- 深入理解mysql之BDB系列(1)---BDB相关基础知识
- 操作系统的进程和线程的相关知识的理解
- C++中typedef、const、预处理等相关知识总结
- 深入理解mysql之BDB系列(1)---BDB相关基础知识
- vue学习相关知识体系及数据双向绑定的理解
- 理解openstack中与虚拟机相关一些简单网络知识-2.veth pair
- 继承和构造器相关知识的个人理解
- 理解操作系统相关知识
- 理解openstack中与虚拟机相关一些简单网络知识-3.计算节点的网络拓扑以及网络分配
- 深入理解QT的SIGNAL\SLOT机制(二):QMetaObject相关知识
- 深入理解mysql之BDB系列(1)---BDB相关基础知识
- 理解Android的Activity的task相关知识
- 文本分类的数据预处理相关知识介绍
- http socket 等通信协议相关基知识理解
- 【java程序员理解HTTP】【1】HTTP相关知识
- 关键词Byte相关知识与实用类的深入理解(流操作,加密处理,图像处理等的基础准备)
- 文本分类的数据预处理相关知识介绍
- 面向对象的相关知识及理解