您的位置:首页 > 其它

SGU 105 Div 3

2013-05-06 12:20 288 查看
找规律

112123123412345123456123456712345678123456789
YYYYYY
如上表规律。每三个,第一个不是,后两个是。

所以 答案=N 包含的完整周期(不包含N) * 2 + N所在周期的位置-1

就是

(n-1)/3*2+(n%3==0?3:n%3)-1  更简洁的表示方式: n/3*2+(n%3)/2


完整代码如下

SGU 105 Div 3

/*************************************************************************
> File Name:    sgu105.cpp
> Author:       Shine
> Created Time: 2013-05-06 上午 11:57:12
> QuestionType: 规律
> Way: 找规律
> Submit: 1WA(表达不正确,没验证) 1AC
> Gain: (int)形式的* / 运算, 结果与先后顺序有关
> Experience: 提交不要随意,嗯,至少验证验证。
************************************************************************/
#include <cstdio>

int main() {
int n;
while (scanf("%d", &n)!=EOF) {
printf("%d\n", (n-1)/3*2+(n%3==0?3:n%3)-1);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: