You must have heard that the Chinese culture is quite different from that of Europe or Russia. So some Chinese habits seem quite unusual or even weird to us.

So it is known that there is one popular game of Chinese girls. N girls stand forming a circle and throw a ball to each other. First girl holding a ball throws it to the K-th girl on her left (1 <= K <= N/2). That girl catches the ball and in turn throws it to the K-th girl on her left, and so on. So the ball is passed from one girl to another until it comes back to the first girl. If for example N = 7 and K = 3, the girls receive the ball in the following order: 1, 4, 7, 3, 6, 2, 5, 1.

To make the game even more interesting the girls want to choose K as large as possible, but they want one condition to hold: each girl must own the ball during the game.

This problem contains multiple test cases!

The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.

The output format consists of N output blocks. There is a blank line between output blocks.

Input

Input file contains one integer number N (3 <= N <= 10^2000) - the number of Chinese girls taking part in the game.

Output

Output the only number - K that they should choose.

Sample Input

2

7

6

Sample Output

3

1

//大数加和大数除再加上找规律
//总体上分为两种情况:
//(1) 如果n是奇数的话,K=(n-1)/2
//(2) 如果n是偶数又分两种情况:(2.1) 如果n/2是偶数的话 K=n/2-1 (2.2) 如果n/2是奇数的话 K=n/2-2 #include<map>
#include<set>
#include<queue>
#include<stack>
#include<vector>
#include<math.h>
#include<cstdio>
#include<sstream>
#include<numeric>//STL数值算法头文件
#include<stdlib.h>
#include <ctype.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<functional>//模板类头文件
using namespace std; typedef long long ll;
const int maxn=110000;
const int INF=0x3f3f3f3f; void jminus(int a[],int len,int b)
{
a[len-1]-=b;
for(int i=len-1; i>0; i--)//借位
{
if(a[i]<0)
{
a[i]+=10;
a[i-1]-=1;
}
}
}
void divide(int a[],int len )//大数除
{
for(int i=0; i<len-1; i++)
{
if(a[i]%2==0) a[i]=a[i]/2;
else
{
a[i]=a[i]/2;
a[i+1]+=10;
}
}
a[len-1]/=2;
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
char str[2010];
cin>>str;
int len=strlen(str);
int a[len]; for(int i=0; i<len; i++)
a[i]=str[i]-'0'; if(a[len-1]%2==1)
{
divide(a,len);
int start=0;
while(a[start]==0) start++; for(int i=start; i<len; i++)
cout<<a[i];
cout<<endl;
}
else
{
if(len==1)
{
int temp=a[0];
if(temp%4==2)//n是偶数,n/2是奇数的情况
{
divide(a,len);
jminus(a,len,2);
}
else//n是偶数,n/2是偶数
{
divide(a,len);
jminus(a,len,1);
}
}
else
{
int temp=a[len-1]+10*a[len-2];
if(temp%4==2)
{
divide(a,len);
jminus(a,len,2);
}
else
{
divide(a,len);
jminus(a,len,1);
}
}
int start=0;
while(a[start]==0) start++; for(int i=start; i<len; i++)
cout<<a[i];
cout<<endl;
}
if(t>0)
cout<<endl;
}
return 0;
}

A - Chinese Girls' Amusement ZOJ - 2313(大数)的更多相关文章

  1. 数学+高精度 ZOJ 2313 Chinese Girls' Amusement

    题目传送门 /* 杭电一题(ACM_steps 2.2.4)的升级版,使用到高精度: 这次不是简单的猜出来的了,求的是GCD (n, k) == 1 最大的k(1, n/2): 1. 若n是奇数,则k ...

  2. Acdream Chinese Girls' Amusement

    A - Chinese Girls' Amusement Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Jav ...

  3. ACdream 1210 Chinese Girls' Amusement(高精度)

     Chinese Girls' Amusement Time Limit:1000MS     Memory Limit:64000KB     64bit IO Format:%lld & ...

  4. ACDream:1210:Chinese Girls' Amusement【水题】

    Chinese Girls' Amusement Time Limit: 2000/1000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Oth ...

  5. 2016NEFU集训第n+5场 A - Chinese Girls' Amusement

    Description       You must have heard that the Chinese culture is quite different from that of Europ ...

  6. zoj 2313 Chinese Girls' Amusement 解题报告

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1313 题目意思:有 N 个人(编号依次为1~N)围成一个圆圈,要求求 ...

  7. acdream 1210 Chinese Girls' Amusement (打表找规律)

    题意:有n个女孩围成一个圈从第1号女孩开始有一个球,可以往编号大的抛去(像传绣球一样绕着环来传),每次必须抛给左边第k个人,比如1号会抛给1+k号女孩.给出女孩的人数,如果他们都每个人都想要碰到球一次 ...

  8. SGU 193.Chinese Girls' Amusement

    /* 实际上就是求一个k,满足k<=n/2,且gcd(n,k)=1 如果n为奇数,k为[n/2] 如果n为偶数,k=n/2-1-(n/2)%2 */ #include <iostream& ...

  9. 训练赛第一场A题 (ZOJ 2313)

    解题报告:n个人围坐成一圈,并且将这n个人从1到n编号,然后编号为1 的人手上有一个物品,将这个物品往向左传递给第k个人,1<=k<=n/2,当这个物品再次传到编号为1 的人的手上时,游戏 ...

随机推荐

  1. dp优化-四边形不等式(模板题:合并石子)

    学习博客:https://blog.csdn.net/noiau/article/details/72514812 看了好久,这里整理一下证明 方程形式:dp(i,j)=min(dp(i,k)+dp( ...

  2. CodeForces 316D3 PE Lesson

    time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standa ...

  3. 【51NOD-0】1118 机器人走方格

    [算法]DP #include<cstdio> #include<algorithm> using namespace std; ,maxn=; int f[maxn][max ...

  4. pcap的安装

    pcap,即 packet capture library 抓包库,这个抓包库给抓包系统提供了一个高层次的接口.所有网络上的数据包,甚至是那些发送给其他主机的,通过这种机制,都是可以捕获的.它也支持把 ...

  5. kernel defconfig

    Some defconfig files are placed on below path. Only one *_defconfig can be selected. android/kernel/ ...

  6. aspxgridview只编辑某一列然后更新

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="IsAllowDeliver ...

  7. Jquery和JS实现浏览器全屏

    var fullscreen=function(){ elem=document.body; if(elem.webkitRequestFullScreen){ elem.webkitRequestF ...

  8. 【Android开发日记】之基础篇(二)——Android的动画效果

          什么是动画,动画的本质是通过连续不断地显示若干图像来产生“动”起来的效果.比如说一个移动的动画,就是在一定的时间段内,以恰当的速率(起码要12帧/秒以上,才会让人产生动起来的错觉)每隔若干 ...

  9. django “如何”系列1:如何使用REMOTE_USER(远程用户)进行认证

    这节主要介绍当web服务器使用了REMOTE_USER的时候,该如何在你的django应用中使用外部的认证源,远程用户主要见于企业内部网,主要使用单点登录解决方案. 在django中,REMOTE_U ...

  10. 在cmd 中输入了错误mysql命令后,如何退出?

    例如: mysql> select * from tb_name          '>          '>          '>          '> 由于输错 ...