在河北石家庄有一个编程教育机构(我不说叫什么了,缩写hlbbc ),我现在还是童程童美的学员,但是童程童美是面向儿童的,今年九月我13岁,就超出年龄了😂。我的父母最近在四处给我找更专业的教育机构,我就负责做练习、考试……
这只是第一章,还会有第二章、第三章…… 我会把每一道题放到博客上,写一写题解,与他人一起学习!
先说明啊,每一个题都是老师直接发我的,具体题目来源我也不清楚。题目都是复制的。
第一题
【入门】纯粹素数
题目描述
纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,
余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。
求出所有小于3000的四位的纯粹素数。
输入
无
输出
按从小到大的顺序输出若干个纯粹素数,每行一个。
这个不难啊,写一些基础的就出来了。
#include <iostream>
#include <cmath>
using namespace std;
bool prime(int n){
if(n==0||n==1) return false;
for(int i=2;i<n;i++) if(n%i==0) return false;
return true;
}
bool f(int x){
int a[101],k=0,s=0;
while(x){
a[k++]=x%10;
x/=10;
}
for(int i=0;i<k-1;i++){
s+=pow(10,i)*a[i];
}
if(prime(s)){
if(s<10) return true;
return f(s);
}
else return false;
}
int main(){
for(int i=1000;i<3000;i++){
if(prime(i)&&f(i)){
cout<<i<<endl;
}
}
return 0;
}
第二题
作业:【基础】字符串压缩
题目描述
输入字符串,输出压缩后的字符串。压缩的方法是把连续的相同字母压缩为"长度+字母"的形式,在本题中,单个的字母不需要压缩。
输入
一行,一个字符串,只包含小写英文字母,长度不超过255。
输出
样例
输入复制
aaabbbbbx
输出复制
3a5bx
凑合吧,不算难,十分钟的时间就做出来了。
#include <iostream>
#include <cstring>
using namespace std;
int main(){
char a[256],b;
int n=1;
cin>>a;
b=a[0];
for(int i=0;i<=strlen(a);i++){
if(a[i]==b){
n++;
}
else if(a[i]!=b&&n==1){
cout<<b;
b=a[i];
}
else{
cout<<n<<b;
n=1;
b=a[i];
}
}
return 0;
}
第三题
题目描述
《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为 a(a≤10^9) 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2,向下取整)。第几天的时候木棍会变为 1?
输入格式
无
输出格式
无
输入输出样例
输入 #1复制100
输出 #1复制7
哼,越来越离谱了,直接递归
#include <iostream>
using namespace std;
int n,m=1;
void f(){
if(n==1) return;
else{
m++;
n/=2;
f();
}
}
int main(){
cin>>n;
f();
cout<<m;
return 0;
}
|