首页 > 代码库 > pat (basic level)题解
pat (basic level)题解
想要锻炼自己的代码能力,看自己能否用最简练的代码AC。下面开始:
1006
简单的字符转换没什么难度
1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int n; 5 cin >> n; 6 int bai,shi,ge; 7 bai = n / 100; 8 shi = (n - bai * 100) / 10; 9 ge = n % 10;10 for(int i = 0; i < bai; i ++){11 cout << ‘B‘;12 }13 for(int i = 0; i < shi; i++){14 cout << ‘S‘;15 }16 for(int i = 0; i < ge; i++){17 cout << i + 1;18 }19 return 0;20 }
1007
这里主要是不要偷懒质数一定要循环到sqrt(n)才好,其次是要判定i+2有没有越界这是个坑要注意。
1 #include<iostream> 2 #include<math.h> 3 using namespace std; 4 bool check(int n){ 5 bool flag = true; 6 for(int i = 2; i <= sqrt(n); i++){ 7 if(n % i == 0){ 8 flag = false; 9 break;10 }11 }12 return flag;13 }14 int main(){15 int n;16 cin >> n;17 int sum = 0;18 for(int i = 2; i < n; i++){19 if(check(i)){20 if(check(i + 2) && (i + 2) <= n) ++sum;21 } 22 }23 cout << sum;24 return 0;25 }
1008逻辑移位,注意取模
1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int n, m; 5 cin >>n >>m; 6 int a[n]; 7 for(int i = 0; i < n; i++){ 8 cin >> a[i]; 9 }10 int t = (-m % n) + n;11 for(int i = 0; i < n; i++){12 cout << a[((t + i) % n)];13 if(i == n - 1) continue;14 cout << " ";15 }16 return 0;17 }
pat (basic level)题解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。