猜数字——C++版 && JAVA版
题目描述
代码
初级代码a~s测试
#include <iostream>
using namespace std;
int main(int argc,const char *argv[]){
char arr[19];
for(int i=0;i<19;i++){
arr[i]='a'+i;
}
int len = 19;
while(len!=1){
int k=0;
for(int i=1;i<len;i+=2){
arr[k++]=arr[i];
}
len=k;//k记录了去除基数上的数之后新数组的长度
arr[len]='\0';
cout<<arr<<endl;
}
cout<<arr[0];
return 0;
}
升级版——本题答案版本
#include <iostream>
using namespace std;
int main(int argc,const char *argv[]){
char arr[2014];
int index=0;
for(int j=0;j<106;++j){
for(int i=0;i<19;i++){
arr[index++]='a'+i;
}
}
int len = 2014;
while(len!=1){
int k=0;
for(int i=1;i<len;i+=2){
arr[k++]=arr[i];
}
len=k;//k记录了去除基数上的数之后新数组的长度
//arr[len]='\0';
//cout<<arr<<endl;
}
cout<<arr[0];
return 0;
}
只是比第一版的输入多了点内容
结果
q
JAVA版本
package _2013蓝桥杯省真题;
/**
* @author 邓雪松 (づ ̄ 3 ̄)づ)
* @create 2021-11-21-20-55
*/
public class 猜数字 {
public static void main(String[] args) {
char[] a = new char[2014];
int index = 0;
for (int i = 0; i < 106; i++) {
for(int j=0;j<19;j++){
a[index++]=(char)('a'+j);
}
}
int len = 2014;
while(len!=1){
int k = 0;
for(int i=1;i<len;i+=2){
a[k++]=a[i];
}
len = k;
}
System.out.println(a[0]);
}
}


浙公网安备 33010602011771号