3592 - b4

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

请编写一个函数 void fun(int m,int k,int xx[]),该函数的 功能是:将大于整数 m 且紧靠 m  k 个素数存入 xx 所指的数 组中。

题目输入

输入有多组样例。

输入两个整数,m和k(1<m,k<100) 。两个都是整数。

题目输出

输出结果, 每两个数之间空格隔开,行末没有空格。

输入/输出样例

输入格式

17 5

输出格式

19 23 29 31 37

C语言解答

#include<stdio.h>
#include<stdlib.h>

int fact(int x)
{
    int i;
    int flag=0;
    for(i=2;i<x;i++)
    {
        if(x % i ==0)
            break;
    }
    if(i == x)
        flag =1;
    return flag;

}

void fun(int m,int k,int xx[])
{
     int count=0;
     int i;
     for(i=0;i<k;i++)
     {
         do
         {
             m++;
         }while(!fact(m));
         xx[i]=m;
     }
}



int main()
{
    int n;
    int x;
    int a[100];
    int i;
    while(scanf("%d %d",&n,&x)!=EOF)
    {
        fun(n,x,a);
        for(i=0;i<x;i++)
        {
			if(i!=x-1)
            printf("%d ",a[i]);
			else
				 printf("%d",a[i]);
        }
        printf("\n");
    }
	return 0;
}


C++解答

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include<algorithm>
#include<iostream>
using namespace std;
int fact(int x)
{
    int i;
    int flag=0;
    for(i=2;i<x;i++)
    {
        if(x % i ==0)
            break;
    }
    if(i == x)
        flag =1;
    return flag;

}
void fun(int m,int k,int xx[])
{
     int count=0;
     int i;
     for(i=0;i<k;i++)
     {
         do
         {
             m++;
         }while(!fact(m));
         xx[i]=m;
     }
}


int main()
{
   // freopen("in","r",stdin);
  // freopen("out","w",stdout);


    int n;
    int x;
    int a[100];
    int i;
    while(scanf("%d %d",&n,&x)!=EOF)
    {
        fun(n,x,a);
        for(i=0;i<x-1;i++)
        {
            printf("%d ",a[i]);
        }
        printf("%d\n",a[i]);
    }

	return 0;

}