C语言判断素数和求和

106 阅读1分钟

1.判断素数: 只有1和本身是它因数

2.n: 97是最大素数

3.如果 2,3,4,5,.........,n-1 都不能整除n ,那么说明n是一个素数

#include <stdio.h>

/* 
  while 循环 
*/  
  
  
  int main() {
  	
  	
  	// s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 ... + 1/19
  	double s = 0;
  	int i = 1;
  	while(i <= 19){
  		printf("%d \n", i);
  		if(i%2 == 0){ // i是函数 
  			s -= 1.0/i;
		  }else{
		  	s += 1.0/i;
		  }
  		i++;
	}
	printf("s=%f \n",s);
	
	return 0;
} 

其一:

#include <stdio.h>

/* 
  while 循环 
  判断素数: 只有1和本身是它因数
  n: 97
  
  如果 2,3,4,5,.........,n-1 都不能整除n ,那么说明n是一个素数 
*/  
  
  
  int main() {
  	
  	int n ;
  	printf("请输入一个整数:");
  	
  	scanf("%d", &n);
  	// 假设n是素数
	int isPrime = 1;
	int i = 2;
	while( i <= n-1 ){
		if(n%i ==0){
			printf("%d能整除\n",i);
			isPrime = 0;
			//跳出循环
			break; 
		}
		i++;
	} 
	
	if(isPrime == 1){
		printf("%d是素数",n);
	} else {
		printf("%d不是素数",n);
	}
	
	return 0;
  }

最后:

#include <stdio.h>

/* 
  while 循环 
  判断素数: 只有1和本身是它因数
  n: 97
  
  如果 2,3,4,5,.........,n-1 都不能整除n ,那么说明n是一个素数 
*/  
  
  
  int main() {
  	
  	int n ;
  	printf("请输入一个整数:");
  	scanf("%d", &n);
  	
  	int m = sprt(n);
  	// 假设n是素数
    int isPrime = 1;
    
    //开始循环判断 
	int i = 2;
	while( i <= m ){
		if(n%i ==0){
			printf("%d能整除\n",i);
			isPrime = 0;
			//跳出循环
			break; 
		}
		i++;
	} 
	
	if(isPrime == 1){
		printf("%d是素数",n);
	} else {
		printf("%d不是素数",n);
	}
	
	return 0;
  }