本次由于个人原因只做了大概一个小时。只写了A到D题,大概记录一下相关收获。
A题目就不写了,记录一个。1.对于A?B:C这一三目操作符,如果要写在cout输出中一定要在外面加一个(),否则会出错。如cout<<(a>1?

a:a+1)<<endl;

B,C题没啥写的
知道D题,一向是我的困难的数论题目,这次由于题目简单我终于过了,但还是出现了问题。atcoder ABC153
细细一想,其实这道题主要时二进制上的一个规律而已。2的答案是3,3的答案也是3,4的答案是7,而5,6,7的答案都是7,那么这道题就基本上解决了。我们只需找到小于等于输入值的最小的2的某次方。
举个栗子:求2的整数次方且小于19的最小值。很简单我们知道答案是16。如果用代码展现我们可以从小到大遍历,但如何控制循环条呢?

在此,我们直接当遍历到比这个数大时推出循环。我们假定用a表示次方的大小,那么无论是刚好等于或是小于的情况,答案均可用a-1次方

来表示。
注意这道题对于1的特判。
大概到这就OK了。

相关文章:

  • 2022-01-09
  • 2021-06-09
  • 2021-06-16
  • 2022-01-25
  • 2022-02-12
  • 2021-08-26
  • 2022-02-19
  • 2021-07-08
猜你喜欢
  • 2022-02-14
  • 2022-01-20
  • 2022-03-05
  • 2022-02-18
  • 2021-07-07
  • 2021-06-10
  • 2021-11-24
相关资源
相似解决方案