第一天oj思考

今天开始接触航电oj刚作前两道,就被嘎住了,回想一下:

1.读题不够仔细,航电oj对输入输出要求很严格!要仔细读input、output的要求!

2.语法确实有问题

1000 A+B:不只是简单的输出”一行“结果,测试数据往往有很多。Process to end of file这句话说,过程持续到文件结尾为止就表明了可能不只一组数据需要循环执行程序。

所以需要使用类似”while(cin>>n)“这样的格式来循环读入数据。

1001 SUM:1.题目要求一行结果一行空行,就是空行,不是简单的换一行,而是换两行!!你只写一个endl的话,虽说结果后会换行,可是你再接着输入数据这一行就不是空行了!所以得要两个endl!

2.运用等差数列求和公式不是不可以,但要是直接用的话会WA(wrong answer)。因为n*n+1有可能超出32位整型数的范围。

有一篇文章https://www.cnblogs.com/ErinCodeMM/archive/2011/07/20/2111849.html,也发现了这个问题,稍微处理一下即可得到正确结果,就是把/2放到n或n+1紧后面而不是在式子n*(n+1)/2的最后。这个方法是可以的。

当然,最简单的办法是,用for循环,一个一个的加sum,不过要注意”每次while循环时都要把sum置为0“,不要影响其他数据的结果。

猜你喜欢

转载自blog.csdn.net/weixin_39773661/article/details/79039113