if(a%i==0) return0; else continue; } return1; } else return0; } main() {
intb,c;
printf(\ scanf(\ c = Fun(b); if(0 == c)
printf(\ else
printf(\ }
参考答案:#include \ intFun(intm); intmain()
{ intm, flag;
printf(\ do
{
scanf(\ }
while(m < 2); //e1
flag = Fun(m); //3
if(flag) //1
printf(\ else
printf(\
return0;
} intFun(intm)//2
{ inti, flag = 1; //1
for(i = 2; i < m; i++) //1 { if(m % i == 0) //1
{ flag = 0; //1 break; } }
returnflag;//2 }
- ---------------------------------------------------------5 6.求1898
现將不超过2000的所有素数从小到大排成第一行,第二行上的每个数都等于它“右肩”上的素数与“左肩”上的素数之差。请编程求出:第二行数中是否存在这样的若干个连续的整数,它们的和恰好是1898?假如存在的话,又有几种这样的情况? **输入格式要求:提示信息:\**输出格式要求:\程序运行示例如下:
There are follwing primes in first row : (1).101,......,1999 (2). 89,......,1987 (3). 53,......,1951 (4). 3,......,1901 答案:
#include #defineN 330 int a[N]; int main()
{ }
7.从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出\。例如,用户输入90时,程序输出90 = 2 * 3 * 3 * 5;用户输入17时,程序输出\prime number\。
输入提示信息:\输入格式:\输出格式:
是素数时输出\
}
printf(\); for (c = 329;c >= 0;c--)
for (b = c + 1;c < b;b++)
if (b < 330) { } else
break;
if ((a[b] - a[c]) == 1898) { } else
continue;
printf(\, d, a[c], a[b]); d++;
int c = 0, b = 0, d = 1; int i = 0, j = 0, k = 0; for (i = 3;i <= 2000;i++) {
for (j = 2;j < i;j++) { }
if (j == i) { } else
continue; a[k] = i; k++;
if (i%j == 0) else
continue; break;
否则输出用\,\运行示例1: Input m:90↙ 90 = 2 * 3 * 3 * 5 运行示例2: Input m:13↙ It is a prime number 答案:
#include #include intIsPrime(intx);
voidOutputPrimeFactor(intx); intmain() { intm;
printf(\ scanf(\ if(IsPrime(m)) {
printf(\ } else {
printf(\ OutputPrimeFactor(m); } return0; }
intIsPrime(intx) {
inti,flag=1;
intsquareRoot=sqrt(x); if(x<=1) { flag=0; }
for(i=2;i<=squareRoot&&flag;i++) {
if(x%i==0) { flag=0; } }
returnflag;