输出小于或等于n的质数【C】

#include<math.h>
#include<stdio.h>
int main()
{
    int n,i,t,j;
    scanf("%d",&n);
    for(j=2;j<=n;j++)
    {
        //判断j是否是质数
        t=sqrt(j);
        for(i=2;i<=t;i++)
        {
            if(j%i==0)
            {
                break;
            }
        }
        //输出j是否是质数的结果
        if(i>t)//若j是质数
        {
            printf("%d\n",j);
        }
    }
    
    return 0;
}

时间: 2024-08-11 14:27:57

输出小于或等于n的质数【C】的相关文章

JavaScript 斐波那契数列 倒序输出 输出100以内的质数

|--斐波那契数列 1 //求斐波那契数列第n位 2 var n = parseInt(window.prompt('输入你要求的斐波那契数列的位数')); 3 var first = 1, 4 second = 1, 5 third; 6 if (n > 2) { 7 for (var i = 0; i < n - 2; i++) { 8 third = first + second; 9 first = second; 10 second = third; 11 document.writ

PrimeNumber.java【输出100-200之间的质数:只能被1和本身整除的数】

//功能:输出100-200之间的质数:只能被1和本身整除的数 public class PrimeNumber{ public static void main(String [] args){ for(int i=101;i<200;i++){ boolean flag=true;//标志位,当flag为true时是质数,当flag为false时不是质数 for(int j=2;j<i;j++){ if(i%j==0){ flag=false; break; } } /*if(flag){

输出1-100内的质数(素数)

参考https://blog.csdn.net/yearningseeker/article/details/49964127 质数概念:所谓质数就是只能被1和它本身整除的数.那么对于某一个数a,可以试着让它除以a-1......2,如果有任意一次除法的余数为零,这个数a就不是质数. 方法1:完全根据质数的定义,我称这种方法叫做"笑而不语最直接法".该方法完全可以输出正确结果,但这肯定不是面试官想要的 public static void test4() { System.out.pr

PHP面试题之实现输出100以内的质数

最近求职时的其中一道面试题: 求100之内的质数 <? //求100以内质数 for ($i = 1; $i <= 100; $i++) { $k = 0; for ($j = 1; $j < $i; $j++) { if ($i % $j == 0) { $k++; } } if ($k == 1) { echo $i; echo "  "; } } ?>

C语言,输入一个正整数,按由大到小的顺序输出它的所有质数的因子(如180=5*3*3*2*2)

1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 long num; 7 8 while(cin >> num){ 9 if(num == 1){ 10 cout << num << endl; 11 continue; 12 } 13 14 for(int i = 2; i <= num; ++i){ 15 if(num%i == 0){ 16 num = num/i;

Java小练习 输出100内所有质数

分析:所谓质数,就是不能被除了1和自身外的数所整除的数 如:这个数是i,那么对于从2开始到i的数j,有i%j!=0,直到i==j时才有i%j==0; 从这个思路出发,算法如下 1 public class printPrime{ 2 public static void main(String args[]) { 3 for (int i = 2; i < 101; i++) { 4 int j = 2; 5 while (i % j != 0) { 6 j++; 7 } 8 if (i ==

输出100000以内的质数 (优化2)

class TestPrinmeNumber { public static void main(String[] args) { //boolean flag= false; long start = System.currentTimeMillis(); l:for(int i = 2;i <=100000;i++){//实现100以内的循环 for(int j=2; j < Math.sqrt(i);j++){//优化3 if(i % j==0){ //flag = true; //br

Java优化之输出十万以内的质数

(1)未经优化时所耗费的时间: public class PrimeNumber { public static void main(String[] args) { long start = System.currentTimeMillis(); boolean flag = false; for(int i = 2; i <= 100000; i++){ for(int j = 2; j < i; j++){ if(i % j == 0){ flag = true; } } if(flag

Java-04,输出101-200内的质数(break和continue的用法)

public class HelloWorld{ public static void main(String[] args) { for(int i=101;i<=200;i++){ boolean f=true; for(int j=2;j<2;j++){ if(i%j==0){ f=false; break; } } if(!f){continue;} System.out.print(" "+i); } } } 101 102 103 104 105 106 107