今天碰到了一个问题:已知一个字符串的长度,以及每行所能容纳的字符数,如何确定需要几行来显示?按照一般的做法,几行代码也就做出来了。但今天突发奇想,能不能写得漂亮一些呢?
#include <iostream>
#include <stdio.h>
using namespace std;
int ans;
int str_n,n;
int Add(int a,int b){return (b) ? Add(a^b,(a&b)<<1):a;}
int main()
{
cin >> str_n >> n;
ans = (str_n+(n-((str_n-1)%n)))/n;
//ans = Add(str_n,(Add(n,-Add(str_n,-1)%n)))/n;
cout << ans << endl;
return 0;
}
核心代码就这一句:ans = (str_n+(n-((str_n-1)%n)))/n;
然后我又丧心病狂的试了一下位运算的效果,发现其实并没有普通版的好(差远了~~)
纪念一下这个小问题