zoukankan      html  css  js  c++  java
  • 欧拉计划010

    010.以下的质数的和是2 + 3 + 5 + 7 = 17.

    找出两百万以下所有质数的和。

    ————————————————————————————————————————————

    代码如下:

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <math.h>
     4 #include <time.h>
     5 #define N 2000000
     6 
     7 int main(void)
     8 {
     9     
    10     int i,j,t=1;
    11     double sum=5.0;
    12 
    13     clock_t begin, end;
    14     double  cost;
    15     begin = clock();
    16 
    17 
    18     for(i=5;i<N;i++)
    19     {   
    20         for(j=2;j<=sqrt(i);j++)
    21         {
    22             if(i%j==0)
    23             {
    24                 t=0;break;
    25             }
    26 
    27         }
    28         if(t==1) sum+=i;
    29         t=1;
    30     }
    31 
    32     printf("sum=%lf\n",sum);
    33 
    34     end = clock();
    35     cost = (double)(end - begin) / CLOCKS_PER_SEC;
    36     printf("%lf seconds\n", cost);
    37     
    38     return 0;
    39 }

    输出结果为:

         当中的循环判断绕得我有点晕,开始想把sum直接放在头一个if后面求得,也没想到用t这个变量来协助衡量,结果就是一遍一遍的调试for看哪儿逻辑错了。我知道这样儿我日后看来会很蠢,然而我还是有稍微的满足,这短短几句我能顺理成章的写出来不卡了。

        还有一点,最初sum被我定义成int类,可以运算但结果是错误的,给了个10位的数。大意不得啊。

  • 相关阅读:
    Pandas学习笔记,如何从DataFrame里选择一个Series
    数据结构_郝斌_数组
    数据结构_郝斌_预备知识2
    数据结构_郝斌_预备知识1
    数据结构_郝斌_目录
    数据结构_郝斌_链表
    Vocabulary Recitation 2020/04/08
    5月11号
    5月10号
    5月9号
  • 原文地址:https://www.cnblogs.com/hhccdf/p/3015491.html
Copyright © 2011-2022 走看看