codeforce Codeforces Round #201 (Div. 2)

本文深入探讨了CF(Codeforces)平台上的一个独特数学与算法问题,通过理解最大数字与最小公倍数之间的联系,解决生成所有数字并判断其奇偶性的挑战。文章提供了详细的解析过程和代码实现,旨在提升读者在复杂算法问题上的思考能力。

cf 上的一道好题;  首先发现能生成所有数字-N 判断奇偶 就行了,但想不出来,如何生成所有数字,解题报告 说是  所有数字的中最大的那个数/所有数字的最小公倍数,好像有道理;纪念纪念;

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;

int arr[112];
int gcd( int a,int b ){
  if( b == 0 )return a;
  else return gcd( b,a%b );
}
int main( )
{
    int N;
    while( scanf("%d",&N) != EOF )
    {
        for( int i = 1; i <= N; i++ ){
            scanf("%d",&arr[i]);
        }
        sort( &arr[1],&arr[1]+N );
        int t = arr[1];
        for( int i = 2; i <= N; i++ )
        t = gcd( t,arr[i] );
        N = arr[N]/t - N;
        if( N%2 )puts("Alice");
        else puts("Bob");
    }
    return 0;
}

  

转载于:https://www.cnblogs.com/wulangzhou/p/3333090.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值