输入一个整数n,判断这个数是否质数
2009-10-16 22:32
741 查看
简单的算法,简单的思路.但是中间被一个问题折磨了,那就是编译的时候必须用命令
gcc main -lm
否则不通过
=================
判断一个整数n是否质数,首先判断n是否小于2,如果小于2,那么就不是质数.
接着就是取n的平方根sn,用循环for(i=2;i<=sn;i++),把n/i依次求余数,如果余数=0那么就是可以被当前i整除,因为i>1,所以就能判断n不是质数.否则n为质数.
gcc main -lm
否则不通过
=================
判断一个整数n是否质数,首先判断n是否小于2,如果小于2,那么就不是质数.
接着就是取n的平方根sn,用循环for(i=2;i<=sn;i++),把n/i依次求余数,如果余数=0那么就是可以被当前i整除,因为i>1,所以就能判断n不是质数.否则n为质数.
#include "stdio.h" #include "stdlib.h" #include "math.h" int main(int argc, char *argv[]) { int n=0; if(2 == argc){ n=atoi(argv[1]); } else{ printf("N has no value./n"); return 0; } if(n < 2){ printf("No/n"); return 0; } int sn=(int)(sqrt((double)n)), i; printf("n=%d, sn=%d/n",n,sn); for(i=2;i<=sn;i++){ printf("i=%d, n%%i=%d/n",i,n%i); if(0 == (n%i)){ printf("No/n"); return 0; } } printf("Yes/n"); return 0; }
相关文章推荐
- 用户输入一个数字,判断这个数字是否是质数。
- 编写一个函数,从标准输入读取一列整数, 把这些值存储在一个动态分配的数组中并返回这个数组。 函数通过观察EOF判断输入列表是否结束。 数组的第一个数是数组包含的值的个数, 它的后面就是这些整数值。
- 2.1 输入一个长整数,判断是否为质数
- 算法:从键盘循环输入一个整数,判断是否是素数\质数
- 201111621401-白乐乐-判断一个正整数是否为质数的算法。函数签名如下 int isPrime(long a) 输入:一个长整数a 输出:返回1(为质数),返回0(非质数)
- 输入一个整数,判断其是否是2^n,是就输出这个数,不是就输出和它最接近的为2^n的那个整数。
- 编写一个函数,从标准输入读取一列整数,把这些值存储于一个动态分配的数组中并返回这个数组。函数通过观察EOF判断输入列表是否结束。数组的第一个数是数组包含的值的个数,他的后面就是这些整数值。
- 输入一个整数,判断这个整数各个位数之和是否为奇数
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 判断是否为润年&&键盘输入一个10000以内的大于零的正整数,输出相应中文标识
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- JavaScript如何判断一个整数是否为质数
- Python实遍历二维数组题目一:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
- 2.创建一个20个大小的随机数组,然后输入一个数,判断是否存在这个数
- P53.37(设计一个程序,从键盘输入一个正整数M,判断该正整数是否左右对称,若对称,则输出yes,否则输出no。)
- 判断输入的一个非负的正整数,其是否是2的幂
- 第二次编程作业:判断一个正整数是否为质数的算法和 随机生成一个n bit位的长整数
- 编写一个Java应用程序。用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都