zoukankan      html  css  js  c++  java
  • SGU 105 Div 3

    找规律

    1 12 123 1234 12345 123456 1234567 12345678 123456789
      Y  Y    Y Y   Y Y

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

    所以 答案=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;
    }
  • 相关阅读:
    软件工程周总结09
    单词统计
    第一期冲刺03
    第一期冲刺02
    第一期冲刺01
    人月神话阅读笔记03
    团队冲刺四
    团队冲刺三
    团队冲刺二
    单词统计
  • 原文地址:https://www.cnblogs.com/shinecheng/p/3062573.html
Copyright © 2011-2022 走看看