首页 > 其他 > 详细

pat (basic level)题解

时间:2014-09-02 19:50:45      阅读:301      评论:0      收藏:0      [点我收藏+]

想要锻炼自己的代码能力,看自己能否用最简练的代码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)题解

原文:http://www.cnblogs.com/fbcorz/p/3952040.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!