文档介绍:第一题
【参照答案】
int cnt = 0; //定义变量cnt并初值等于0
while(cnt < k) //当cnt值不大于k时
{
m++; //变量m加1
if(isP(m)) xx[cnt++] = m; //如果m为素数,则把其赋给数组元素xx[cnt],并且数组下标cnt加1
}
第2题
【参照答案】
int i; //定义变量i
for(i = 0;i < 300;i++) //循环变量i从0依次递增到299
{
if(isP(a[i])) //判断数组元素a[i]与否素数
{
pjz1 += a[i]; //把a[i]累加到变量pjz1
cnt++; //变量cnt加1
}
else pjz2 += a[i]; //否则,把数组元素a[i]累加到变量pjz2
}
pjz1 /= cnt; //所有素数和pjz1除以素数个数cnt,得到素数平均值并赋给变量pjz1
pjz2 /= (300 - cnt); //所有非素数和pjz2除以非素数个数300-cnt,得到非素数平均值并赋给变量pjz2
第3题
【参照答案】
int i; //定义变量i
for(i = 3;i < 90;i++) //循环变量i从3开始,依次递增,直到不大于90
{
if(isPrime(i) && isPrime(i + 4) && isPrime(i + 10)) //如果i,i+4,5i+10同步为素数
{
cnt++;sum += i; //变量cnt加1,变量i累加到sum
}
}
第4题
【参照答案】
int i,j,tmp; //定义整型变量i,j,tmp
for(i = 0;i < 300;i++) //循环变量i从0依次递增到299
if(isP(a[i])) b[cnt++] = a[i]; //如果数组元素a[i]是素数,则把a[i]赋给b[cnt],同步数组下标变量cnt加1
for(i = 0;i < cnt;i++) //循环变量i从0开始依次递增,直到其值等于cnt
{
for(j = i + 1;j < cnt;j++) //循环变量j从i + 1开始依次递增,直到其值等于cnt
{
if(b[i] > b[j]) //如果数组元素b[i]不不大于b[j],则进行互换
{
tmp = b[j]; //把b[j]值赋给变量tmp
b[j] = b[i]; //把b[i]值赋给b[j]
b[i] = tmp; //把变量tmp值赋给b[i]
}
}
}
第5题
【参照答案】
int i,bw,sw,gw; //定义整型变量i,bw,sw,gw
for(i = 100;i < 1000;i++) //循环变量i从100开始,每次递增1,直到其值等于1 000
{
bw = i / 100; //i除以100,得到i百位上数值
sw = (i - bw * 100) / 10; //i减去其百位值差再除以10,得到i十位上数值
gw = i % 10; //i对10求余数得到其个位上数值
if((gw + sw) % 10 == bw && isP(i)) //如果i个位数字与十位数字之和对10求余所得余数等于其百位上数字并且i是素数
{
cnt++; //变量cnt加1
sum += i; //把变量i累加到变量sum上
}
}
第6题
【参照答案】
int i,j = -1; //定义整型变量i,j,并且变量j初值赋予-1
for(i = 800;i > 500;i--) //循环变量i从800开始,每次减1,直到其值等于500
{
if(isPrime(i)) //如果i是素数
{
cnt++; //变量cnt加1
j *= -1; //变量j乘以-1,变号
sum += j * i; //把变量j与i积累加到变量sum上
}
}
第2类 数位分解后按数筛选记录并排序
第7题
【参照答案】
int i,j,m; //定义整型变量i,j,m
for(i = 0;i < 199;i++) //循环变量i从0开始,每次递增1,直到其值等于199
for(j = i + 1;j < 200;j++) //循环变量j 从i + 1开始,每次递增1,直到其值等于200