求1~100的累加和判断一个正整数是否是素数

方永祺 |浏览614次
收藏|2019/01/18 10:10

满意回答

2019/01/18 10:31

你要说明你要用的语言的(计算机有几千种编程语言的)以下是c的参考#include <stdio.h>#include <math.h>int isPrime(int x){ int i; if (x<2) return 0; //质数肯定>=2 for (i=2; i<=(int)sqrt(x); i++) if (x%i==0) return 0; if (i>1) return 1; else return 0;}int main(){ int i,s=0; for(i=1; i<=100; i++) { s+=i; if (isPrime(i)) printf("%d ",i); } printf("\nsum=%d\n",s); return 0;}

whoami1978

其他回答(2)
  • 前面一个很容易,1+2+……+100 = (1+100)×100÷ 2 = 5050要想判断一个正整数是否为素数就不太容易了,如果要判断的数为 x,方法如下:首先,需要从 2 开始寻找每一个素数,并记录在集合 S 中,2 是无条件先放入 S 中的;当搜素到整数 n 时,判断方法为,分别以集合 S 中位于 [2,√n +1] 范围内的数为除数,如果 n 不能被这些数整除,那么 n 也是素数,并放入集合 S 中;n 不断增加并分别判断,直到 n≥ √x 判断完成后,再分别以集合 S 中所有数为除数,看 x 能否被这些数整除,如果 x 不能被这些数整除,那么 x 就是素数。
    回答于 2019/01/18 11:20
  • 1)1+2+3+...+100=(1+100)*100/2=50502)素数(也叫质数)只能被1和它本身整除。如正整数3,除了1与3外,其它任何整数都不能整除它,因此3是一个素数。
    回答于 2019/01/18 10:48
0人关注该问题
+1

 加载中...