NYIST_17软件_C语言测试 编程题题解
来源:互联网 发布:淘宝自动回复内容 编辑:程序博客网 时间:2024/05/16 08:42
代码形式解题思路不唯一 仅供参考
A:A+BI
#include <stdio.h>int a[36];int main(){ int n; a[1] = 1 , a[2] = 1; for(int i = 3 ; i <= 35 ; i ++) { a[i] = a[i-1] + a[i-2]; } while(scanf("%d",&n)!=EOF) { printf("%d\n",a[n]*2); }}
B:64的问题
只需判断最左边的1的右边有多少0,如果0的个数大于等于6即为Yes(注意需要判断是否全为零,例如:0000000)
#include <stdio.h>#include <string.h>char ch[1000000];int main(){ scanf("%s",ch); int len = strlen(ch); int flag = 0 , sum = 0; for(int i = 0 ; i < len ; i++) { if(ch[i] == '1') { flag = 1; } if(flag && ch[i] == '0') { sum++; } } if(flag&&sum>=6) { puts("Yes"); } else { puts("No"); }}
C:字符串变换
模拟一下过程
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;int main(){ int n, m, l, r; char s[105], ll, rr; scanf("%d%d", &n, &m); cin >> s; for (int i = 0; i < m; i ++) { scanf("%d %d %c %c", &l, &r, &ll, &rr); for (int i = l - 1; i <= r - 1; i ++) { if (s[i] == ll) { s[i] = rr; } } } cout << s << endl;}
D:A+BII
题上a,b之和范围最大超过unsigned long long 上限 特判一下即
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int main(){ unsigned long long a,b; scanf("%llu,%llu",&a,&b); if(a == 9223372036854775807 && b == 9223372036854775809) printf("18446744073709551616\n"); else printf("%llu\n",a+b); return 0;}
E:三个人的象棋
每次判断当前步情况存在与否
#include<bits/stdc++.h> using namespace std; const int MAXN = 1e5 + 5; int main() { int n,a[MAXN]; while(~scanf("%d",&n)) { for(int i = 0; i < n; i++) { scanf("%d",&a[i]); } int p1 = 1, p2 = 2, flag = 1; for(int i = 0; i < n; i++) { if(a[i] == p1) p2 = 6 - p1 - p2; else if(a[i] == p2) p1 = 6 - p1 - p2; else { flag = 0; break; } } if(flag) printf("YES\n"); else printf("NO\n"); } return 0; }
F:越努力越幸运
660-669中如果幸运的话猜到667就是对的 一个一个试
#include <stdio.h>int main(){ printf("%d",1328170476%665);}
G:ztt的问题
#include<stdio.h> int main() { int n; scanf("%d",&n);//n为奇数 //打印空心菱形上半个 for(int i=1;i<=n/2;i++)//行 { for(int j=1;j<=(n-(i*2-1))/2;j++) printf("*"); for(int j=1;j<=i*2-1;j++) {//控制空心 if(j==1||j==i*2-1) printf(" "); else printf(" "); } for(int j=1;j<=(n-(i*2-1))/2;j++) printf("*"); printf("\n"); } for(int i=1;i<=n;i++) {//控制最中间 if(i==1||i==n) printf(" "); else printf(" "); }printf("\n"); //打印空心菱形下半个 for(int i=n/2;i>=1;i--)//行 { for(int j=1;j<=(n-(i*2-1))/2;j++) printf("*"); for(int j=1;j<=i*2-1;j++) {//控制空心 if(j==1||j==i*2-1) printf(" "); else printf(" "); } for(int j=1;j<=(n-(i*2-1))/2;j++) printf("*"); printf("\n"); } return 0; }
H:兔子
斐波那契数列 注意最后是兔子的只数不是对数
#include<bits/stdc++.h>using namespace std;const int MAXN = 1e5 + 5;int n, a[MAXN], cnt[MAXN];int main(){ a[1] = a[2] = 1; for(int i = 3; i <= 35; i++) { a[i] = a[i - 1] + a[i - 2]; } //for(int i = 1; i <= 35; i++) printf("%d ",a[i]*2); int n; scanf("%d",&n); printf("%d\n",a[n] * 2); return 0;}
阅读全文
0 0
- NYIST_17软件_C语言测试 编程题题解
- PIC单片机入门_C语言编程技术
- 世界编程语言排行榜08年01月_C 语言
- 世界编程语言排行榜08年01月_C++ 语言
- 问题之编程语言_c语言_无符号计算
- 软件测试自动化之路(3)----选择自动化测试编程语言
- c语言编程软件
- C语言测试错题解析
- 一些测试例_C
- 学习笔记_C语言
- 快速排序_C语言
- 01_C语言基础
- 遗传算法_C语言
- 20171221_C语言学习
- 20171221_C语言学习
- 三道c语言编程题解
- 软件测试之外国语言测试
- 软件编程成功转到测试
- 17-12-16成都德芯科技数字电视IP复用器3013端口配置异常导致BUG重现步骤
- 考题篇(5.4) NSE4 19. 证书 ❀ 飞塔 (Fortinet) 网络安全专家
- java鬼混笔记:redis 6、redis持久化:RDB与AOP配置
- MacBook Pro 苹果电脑安装Nuke10.0以上版本,心得分享。
- 图像灰度化的三种常见方法源码
- NYIST_17软件_C语言测试 编程题题解
- 腾讯云Server smtp 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败
- 从屌丝到高级架构师之路.
- elasticsearch排序和相关性
- 基于Unity3D的语音转文字功能的实现
- 网络包分解基础1
- CSDN-markdown,够了
- 考题篇(5.4) NSE4 20. 数据防泄露 ❀ 飞塔 (Fortinet) 网络安全专家
- shiro权限框架中的认证和授权过程