想要锻炼自己的代码能力,看自己能否用最简练的代码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 }
时间: 2024-11-11 09:34:40