一种憨憨解法

首先看题目就是判断素数,常规解法写个判断素数函数(憨式无脑解)
int prime(int n)
{ int q;  for (int i = 2; i <=sqrt(n) ; ++i) { if(n % i == 0) return 0;  } return 1; }(如果追求时间复杂度可以用改进式写法)
牌的数量是字符串长度的一半(进行循环),循环内判断剩余牌数量是否为素数,倘若为素数就扔上面的牌,一次扔两个字符(憨式解法),不为素数就扔底部两个字符(憨式解法)
string Orderofpoker(string x)
{ int n;  int b = x.size();  int count1 = 0,count2 = 0,count = b/2;  string s;   for (int i = 0; i < b/2; ++i) { if(prime(count) == 1)
       { s+=x[count1];  count1++;  s+=x[count1];  count1++;  } else  { s+=x[b - 1 - count2 - 1];  count2++;  s+=x[b - 1 - count2 + 1];  count2++;  } count--;  } return s;  }

全部评论
害 这是交流区 巨巨怎么不去题解区
点赞 回复
分享
发布于 2020-07-11 22:27
不够憨憨啊,反正数据范围只有10,直接写出所有素数不就行了
点赞 回复
分享
发布于 2020-07-11 22:37
春招专场
校招火热招聘中
官网直投

相关推荐

头像
不愿透露姓名的神秘牛友
03-13 10:56
点赞 评论 收藏
转发
头像
03-18 09:09
Java
点赞 评论 收藏
转发
点赞 1 评论
分享
牛客网
牛客企业服务