⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tc20.c

📁 关于学习C语言的电子书籍
💻 C
字号:
/******************
	  tc20.c
	验证歌德巴赫猜想
******************/

#include "stdio.h"
#include "math.h"
int pn(int n);										/*说明函数pn()*/
main( )
{
	int i,f1,f2;
	int num[100],k,n,m;
	printf("      验证歌德巴赫猜想       \n\n");

	printf("输入想要验证的偶数(输入0退出):\n");
	n=0;
	do{
		scanf("%d",&k);
		if(k%2==0 && k>0 )
		{
			num[n]=k;
			n++;
		}
	}while(n<100 && k>0);
	m=0;
	while(m<n)											/*无限循环*/					
	{


		if(0==num[m])							/*退出外循环*/
			break;
		for (i=3;i<=num[m]/2;i+=2)				/* i为1到num/2之间的所有奇数 */
		{
			f1=pn(i);							/*调用函数判断i为是否为素数,返回值赋给f1*/
			f2=pn(num[m]-i);					/*调用函数判断num-i是否为素数,返回值赋给f2*/
			if(f1&&f2)							/*如果f1和f2都不为0*/
			{
				printf("%d=%d+%d\n",num[m],i,num[m]-i);
				break;						/*退出内循环*/
			}
		}
		m++;
	}
}
	
int pn(int n)									/*判断n是否为素数*/
{
	int j;
	float k;
	k=(float)sqrt(n);								
	for(j=2;j<=k;j++)							/* j为2到n的平方根之间的自然数*/
	{
		if(n%j==0)								/* 如果n能被j整除*/
			return 0;							/* 返回假,C语言中0为假*/
	}	
	return 1;									/*返回真,C语言中非0为真*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -