YTU 3088 紧急补习!II

版权声明:转载请附上原文链接哟! https://blog.csdn.net/weixin_44170305/article/details/90139340

不恋尘世浮华,不写红尘纷扰,不叹世道苍凉,不惹情思哀怨,闲看花开,静待花落,冷暖自知,干净如始。

题目描述

注:本题只需要提交填写部分的代码,请按照C语言方式提交。

经过Umi不懈的努力,Honoka终于弄懂了质数的概念,但期末考试哪有这么简单!于是Umi又给了Honoka一些整数,让Honoka求出这些整数中互质的对数,这时Kotori过来参与她们的复习,觉得很有意思,于是也给了Honoka一些数字。加上之前的数字,这下题目就更难了。

#include <stdio.h>

#include <stdlib.h>

int main()

{

    int *arr,n,m,t;

    scanf("%d",&t);

    while(t--)

    {

        int sum=0,i,j;

        scanf("%d",&n);

        arr=(int*)malloc(n*sizeof(int));

        for(i=0; i<n; ++i)

            scanf("%d",&arr[i]);

        scanf("%d",&m);

        /*

        这里填写realloc函数和其他需要的代码

        */

        int t,a,b;

        for(i=0; i<n+m; ++i)

            for(j=i+1; j<n+m; ++j)

            {

                a=arr[i],b=arr[j];

                while(1)

                {

                    t=a%b;

                    if(t==0)

                        break;

                    else

                    {

                        a=b;

                        b=t;

                    }

                }

                if(b==1)

                    sum++;

            }

        printf("%d\n",sum);

        free(arr);

    }

    return 0;

}

输入

第一行输入一个正整数T(1<=T<=10),表示有T组测试数据。

对于每组测试数据

第一行一个正整数n(1<=n<=100),表示先给出n个整数。

第二行n个正整数a[i](1<=a[i]<=100),表示n个整数分别是多少。

第三行一个正整数m(1<=m<=100),表示之后又给出m个整数。

第四行m个正整数a[i](1<=a[i]<=100),表示m个整数分别是多少。

所有给出的正整数不会重复。

输出

对于每组测试数据,输出一个整数,表示互质的整数的对数。

样例输入

copy

1
2
2 3
2
4 5

样例输出

5

提示

只需提交缺少的代码部分!

realloc函数用于扩大当前指针指向的内存空间,并保留原来的内容。

arr=(int*)realloc(arr,(n+m)*sizeof(int));/*
        这里填写realloc函数和其他需要的代码
        */
        for(i=n;i<n+m;i++)
        scanf("%d",&arr[i]);

猜你喜欢

转载自blog.csdn.net/weixin_44170305/article/details/90139340