够了,我知道答案了,55分钟都没人能帮我解决也是够了。
标准答案在此。
void main() {
int m, n;
printf("please input the number:\n");
scanf("%d", &m);
for (n = 2; n <= m / 2; n++) if (m%n == 0) n = m;
if (m >= n ) printf("%d is a prime\n", m);
else printf("%d is not a prime number\n", m);
system("Pause");
}
这题可能有一点问题【哭了,我没注意break那个空】
#include <stdio.h>c语言:输入一个大于3的整数并判断其是否为素数
你的代码逻辑是错误的:素数是除1和自身外没有因数的正整数,你只 if(n%i!=0){printf("%d是素数\\n",n);} 这样一次判断就认为是素数了?比如8,8%3不等于0,但谁都知道8不是素数!谭浩强的代码显然是对的——for(i=2;i<n;i++)中的;i<n是说要把n所有有可能的因子都试除一次,看看...
用C语言写一个 给出一个大于或等于3的正整数,判断他是不是一个素数...
printf("输入一个大于等于3的正整数: ");scanf("%d",&n);if(isPrime(n))printf("%d is a prime number\\n",n);elseprintf("%d is not a prime number\\n",n);return 0;}示例运行结果:输入一个大于等于3的正整数: 7 7 is a prime number 输入一个大于等于3的正整数: 25 25 is no...
c语言 输入一个大于3的整数n,判定它是否为素数。为什么只需使n被2...
你说反了,是不能被2~根号n之间的任何一个整数整除才是素数 若n=a*b=根号n*根号n,那么如果a>根号n,则b肯定小于根号n,,所以只需检测到根号n,剩下的大的一半一定已经检测过了,当然你一直检测到n也行,就是浪费了时间
题目C语言 给出一个大于或等于3的正整数,判断他是不是个素数 这事素...
1. 如果用来验证的除数不是素数,那么没有必要进行验证。例如能被6整除的整数必然可以被2和3整除。2. 如果用来验证的除数大于“被除数开根号”,那么也没有必要进行验证。因为如果一个整数可以被分解为两个不等整数的乘积的话,其中必然有一个小于“被除数开根号”。
从键盘输入一个大于3的正整数,输出距离该数最近的素数。用c语言编程
include<math.h> void main(void){ int i,j,t,m;int a,a0,a1;scanf("%d",&a);m=sqrt(a);for(i=2;i<=m;i++)if(a%i==0)break;if(i>m){ printf("%d\\n",a);return;} t=a;while(1){ m=sqrt(t)+1;for(i=2;i<=m;i++)if(t%i==0)break;if(i>m){ a0=t;bre...
功能:从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在mai...
include <stdio.h> include <math.h> bool fun(int n){ for(int i=2;i<sqrt(n);i++){ if(n%i==0)return 0;if(i==n)return 1;} } void main(){ int n;scanf("%d",&n);if(fun(n))printf("%d是一个素数\\n",n);else printf("%d不是一个素数\\n",n);} ...
给出一个大于或等于3的正整数,判断他是不是一个素数。使用c语言程序编 ...
prime(int data)\/*判断是不是质数的函数*\/ { int i;for(i=2;i<=sqrt(data);i++)\/*sqrt是根号函数*\/ { if(data%i==0)\/*求模为0代表除尽*\/ return 0;\/*0代表不是质数*\/ } return 1;\/*当足次循环的时候,代表是质数,会执行到此句*\/ } void main(){ int m;scanf("%d",&...
C语言程序题:对于一个大于或者等于3的正整数,判断它是不是一个素数...
int main(){char ch;int count = 0;int num[3];int myNum;printf("请输入三个字符:0-9,A-F\\n");while( (ch = getchar()) && count = '0' && ch = 'A' && ch int main(){int Num;printf("请输入一个小于1000的正整数\\n");...
C语言 对于一个大于或等于3的正整数,判断它是不是一个素数
n是一直不变的,这个程序只是判断输入的n是不是素数。如果n=9,那我们会依次令i等于2至8(改进算法2至3),只要有一个i可以整除n,那么就不是素数。
对一个大于或等于3的正整数,判断它是不是一个素数。
如果按上述的算法,用C来作应该是下面程序!main(){ int i, n;printf("please input the data:\\n");scanf("%d",&n);for(i = 2; i < n; i++){ if(n % i == 0){ printf("this is not a prime number.\\n");break;} } if(i == n)printf("this is a prime number.\\n...