使用数组打印素数
2017-12-21 11:43
169 查看
素数即为大于1的自然数,且其只能被1和其本身整除。
比如 5,只能被1和5整除,对于4,还能被2整除。因此5是素数,4不是。
本程序是从命令行获取最大的自然数,输出在该自然数范围内的素数。
程序获取到命令行的参数后,使用函数atol字符转换成数值。
并申请内存。
求解出素数后将其打印出来。
运行结果:
比如 5,只能被1和5整除,对于4,还能被2整除。因此5是素数,4不是。
本程序是从命令行获取最大的自然数,输出在该自然数范围内的素数。
程序获取到命令行的参数后,使用函数atol字符转换成数值。
并申请内存。
求解出素数后将其打印出来。
#include<stdio.h> #include<stdlib.h> int main(int argc ,char *argv[]) { printf("\r\n********system start **************\r\n"); int i,j; int N = atol(argv[1]); // int N = 100; printf("N=%d",N); int *arr =(int*) malloc((unsigned int)(N * sizeof(int))); if(arr == NULL) { printf("request memory error "); return 0; } for(i = 2; i < N; i++) { *(arr + i) = 1; } for(i = 2; i < N ; i++) { for(j = i; i*j <N ;j++) { *(arr+i*j) = 0; } } for(i = 2;i < N ;i++) { if(*(arr+i)) { printf("%d\t",i); } } printf("\r\n********system finish **************\r\n"); return 1; }
运行结果:
相关文章推荐
- 用数组实现打印小于10000的素数的快速算法
- 字符数组的使用-读入一文本行,并把最长的文本行打印出来。
- 使用var_dump打印数组
- 使用一个for循环打印二维数组和三维数组
- 1、使用快速枚举语法实现: //构建一个NSSMutableArray数组,用@”1”至@”100”进行填充。以NSLog依次打印数组中的内容,将此数组分为奇偶两数组,再打印两新数组中的元素。
- 对象数组 存储打印 代码 及泛型使用
- Log的使用技巧——解决字典和和数组的直接打印时问题
- 编写一个程序读入一行输入,然后反向打印该行,您可以把输入存储在一个char数组中: 假定该行不超过255个字符。回忆一下,您可以使用具有%c说明符的scanf()从输入中一次 读入一个字符,而且当您按下回车键时会产生换行符(/n)
- 使用两个嵌套for循环和取余操作符%来探测和打印素数
- IOS中使用printer打印数组
- 黑马程序员——论坛活动:100以内素数之和、数组排序阶梯状输出、反向打印杨辉三角
- 使用第三方库导致NSLog打印数组NSArray或字典NSDictionary时出现\U开头乱码的解决办法
- 编写一个程序读入一行输入,然后反向打印该行,您可以把输入存储在一个char数组中: 假定该行不超过255个字符。回忆一下,您可以使用具有%c说明符的scanf()从输入中一次 读入一个字符,而且当您按
- 合法IP&窗口最大值数组&打印素数&递归逆序一个栈&栈排序另一个栈&MyString&寻找数组中出现的重复字符&数组中的重复数字&逆序打印链表&空格替换成%20
- 【十四】数组练习题2----以objid以日期为间隔,使用json格式打印出来
- 黑马程序员_活动:100以内素数之和、数组排序阶梯状输出、反向打印杨辉三角
- 数组比特【编程珠玑】如何优化程序打印出小于100000的素数
- Java中使用for循环删除数组中某个元素,并按原有顺序打印
- 使用 AJAX 及 JSON 打印数组,下拉列表信息
- 打印不同的数(编写一个程序,使用指针访问数组方式,读入十个数,输出其中不同的数,即一个数如果出现多次,只打印一次)