Maximum GCD

来源:互联网 发布:android app商城源码 编辑:程序博客网 时间:2024/06/05 07:36
题目链接
就是输入有点问题,找最大的时候可以暴力
#include<stdio.h>#include<iostream>#include<string.h>#include<algorithm>using namespace std;int gcd(int a,int b){    if(b==0)        return a;    else        return gcd(b,a%b);}char a[10005];int b[10005];int main(){    int t;    scanf("%d",&t);    getchar();    char s[100];    while(t--)    {        gets(a);        int l=strlen(a);        int k=0;        int f=0;        int p=0;        memset(b,0,sizeof(b));        for(int i=0;i<=l;i++)        {            if(a[i]>='0'&&a[i]<='9')            {                s[k++]=a[i];                f=1;                continue;            }            if(f)            {                s[k]='\0';                b[p++]=atof(s);                f=0;                k=0;            }            else if(a[i]==' ') continue;        }        int maxn=0;        for(int i=0;i<p;i++)        {            for(int j=i+1;j<p;j++)            {           maxn=max(maxn,gcd(b[i],b[j]));            }        }        printf("%d\n",maxn);    }}

0 0
原创粉丝点击