POJ 3372 Candy Distribution
来源:互联网 发布:非线性回归分析python 编辑:程序博客网 时间:2024/05/16 06:53
Description
N children standing in circle who are numbered 1 through N clockwise are waiting their candies. Their teacher distributes the candies by in the following way:
First the teacher gives child No.1 and No.2 a candy each. Then he walks clockwise along the circle, skipping one child (child No.3) and giving the next one (child No.4) a candy. And then he goes on his walk, skipping two children (child No.5 and No.6) and giving the next one (child No.7) a candy. And so on.
Now you have to tell the teacher whether all the children will get at least one candy?
Input
The input consists of several data sets, each containing a positive integer N (2 ≤ N ≤ 1,000,000,000).
Output
For each data set the output should be either "YES" or "NO".
Sample Input
23 4
Sample Output
YESNOYES
首先要找规律,我先写了个辅助程序,查看哪些输入会得到YES的输出。代码如下:
#include"stdio.h"int main(){int i,n,cur;while(scanf("%d",&n)!=EOF){int a[400]={1,1};cur=2;for(i=1;i<1000;i++){cur=(cur+i)%n;a[cur]++;cur++;}printf("\n");for(i=0;i<n;i++){printf("%d : %d\n",i+1,a[i]);}}return 0;}输入一些测试用例后,我发现凡是能写成2^k (1<=k<=29) 的数,得到的输出都是"YES",其他数都得到"NO"。容易写出代码:
#include"stdio.h"int main(){int n;while(scanf("%d",&n)!=EOF){while( (n & 0x1) ==0 ){n>>=0x1;}n>>=0x1;printf("%s\n",n? "NO" : "YES");}return 0;}
yinjili3372Accepted164K0MSC++206B
- POJ 3372 Candy Distribution
- poj 3372 Candy Distribution
- Poj 3372 Candy Distribution
- Poj 3372 Candy Distribution
- POJ 3372 Candy Distribution
- POJ - 3372 Candy Distribution
- poj 3372 Candy Distribution 数论
- day4 POJ 3372 Candy Distribution
- POJ 3372 Candy Distribution G++
- POJ 3372 —— Candy Distribution
- POJ 3372 Candy Distribution(数论)
- 3372 Candy Distribution
- POJ 3372 Candy Distribution 完全剩余系/奇偶性
- POJ-3372(数论,完全剩余系)(Candy Distribution)
- poj 3372 Candy Distribution(完全剩余系)
- Candy Distribution
- (Relax 数论 1.18)POJ 3372 Candy Distribution(找规律,判断一个数看其是否是2的多少次幂)
- PKU 3327 Candy Distribution
- (转载)左倾堆 (leftist heap):方法参见 Data Structures (Weiss)
- java书籍2
- JDK环境变量配置
- FLEX 本地文件写入
- c++异常捕获的通俗理解
- POJ 3372 Candy Distribution
- Python 2.7 解决 “the error is 'ascii' codec can't encode”
- 随机数据产生的问题
- 地图渲染之Clusterer聚集
- 第三章 表空间、数据文件和控制文件
- 系统临时文件批量删除方法
- 如何通过junit测试EJB(Jboss容器)
- Android使用AttributeSet自定义控件的方法
- MyEclipse 2013 新功能介绍