uva 10193All You Need Is Love

来源:互联网 发布:淘宝如何修改店铺名 编辑:程序博客网 时间:2024/04/30 18:25

将两个2进制的数转换成10进制的数,然后看俩数是否互质,即最大公约数是否为1.

#include <iostream>#include<cstring>#include<cmath>#include<cstdio>using namespace std;char s1[33],s2[33];int gcd(int a,int b){  if(b==0)  return a;  return gcd(b,a%b);}int tonum(char s[]){  int len=strlen(s);  int sum=0;  for(int i=len-1,j=0;i>=0;i--,j++)  sum+=(s[i]-'0')*pow(2,j);  return sum;}int main(){    int n;    cin>>n;    int num=1;    getchar();    while(n--)    {      gets(s1);      gets(s2);      int num1,num2;      num1=tonum(s1);      num2=tonum(s2);      if(num1<num2)      swap(num1,num2);      cout<<"Pair #"<<num++<<": ";      if(gcd(num1,num2)!=1)      cout<<"All you need is love!"<<endl;      else      cout<<"Love is not all you need!"<<endl;    }    return 0;}


原创粉丝点击