29、《信息学奥赛一本通 编程启蒙 C++版》 3281-3290(10题)

1、3281:【例46.3】 素数回文数的个数

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

[例 46.3] 素数回文数的个数

1408:素数回文数的个数

信息学奥赛一本通(C++版)在线评测系统

/*
3281:【例46.3】 素数回文数的个数
http://bas.ssoier.cn:8086/problem_show.php?pid=3281
https://blog.csdn.net/hipoole/article/details/103811257
*/
#include <iostream>
using namespace std;
bool isprime(int n){
	if(n==1) return false;
	if(n==2) return true;
	for(int i=2;i*i<=n;i++)
		if(n%i==0) return false;	
	return true;
}
bool ispalindrome(int n){
	int a[5],len=0;
	while(n){
		a[len++]=n%10;
		n=n/10;
	}
	
	for(int i=0,j=len-1;i<=j;i++,j--)
		if(a[i]!=a[j]) return 0;
	return 1;
}

int main(){
	int n,ans=0;
	cin>>n;
	for(int i=11;i<=n;i++)
		if(isprime(i) && ispalindrome(i))
			ans++;
	cout<<ans;
	return 0;
}



2、3282:练46.1 求π的值

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

/*
3282:练46.1 求π的值
http://bas.ssoier.cn:8086/problem_show.php?pid=3282
*/
#include <bits/stdc++.h>
using namespace std;
double f(double x,int y)
{
	double ans=1;
	for(int i=1;i<=y;i++)
	{
		ans*=x;
	}
	return ans;
}

double arctanx(double x)
{
	double ans=0.0;
	for(int i=1;;i++)
	{
		double fz=f(x,2*i-1);
		double fm=2*i-1;
		double n=fz/fm;
		if ( n<0.000001)
		{
			break;
		}
		if( i%2==1 )
		{
			ans+=fz/fm;
		}
		else
		{
			ans-=fz/fm;
		}
	}
	return ans;
}
 
int main()
{
	double pi=6*arctanx(1.0/sqrt(3));
	printf("%.10lf",pi);
	return 0; 
}



3、3283:练46.2 求丑数

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

第73课 丑数 函数的应用

第73课 丑数 函数的应用_丑数应用-CSDN博客

绝对值排序

绝对值排序_哔哩哔哩_bilibili

丑数(c语言)

丑数(c语言)_丑数判断方法c语言-CSDN博客

/*
丑数
只能被2 3 5整除的数 
*/
#include<iostream>
#include<iomanip>
using namespace std;
bool choushu(int n)
{
	/*
	if (n==1)
	{
		return true;
	}
	*/
	
	while(n%2==0)
	{
		n/=2;
	}
    
	while(n%3==0)
	{
		n/=3;
	} 
  
	while(n%5==0)
	{
		n/=5;
	}
    
  	return (n==1);	 		 	
}
int main()
{
	int num=0;
	
	for(int i=1;i<=100;i++)
		if(choushu(i))
		{
			//printf("%6d",i);
			cout<<setw(6)<<i;	
			num++;
		  
			//if(num%10==0) cout<<endl; 
			if(!(num%10)) cout<<endl;	
		} 
	
	cout<<endl;
	
	cout<<"个数:"<<num<<endl; 
	
	return 0;
}
/*

作业:

1156:求π的值
http://ybt.ssoier.cn:8088/problem_show.php?pid=1156

1157:哥德巴赫猜想
http://ybt.ssoier.cn:8088/problem_show.php?pid=1157

1397:简单算术表达式求值
http://ybt.ssoier.cn:8088/problem_show.php?pid=1397

*/



4、3284:练46.3 哥德巴赫猜想

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

练 46.3 哥德巴赫猜想

1157:哥德巴赫猜想

信息学奥赛一本通(C++版)在线评测系统

奥赛一本通题目精讲 函数专题 1157 哥德巴赫猜想

哥德巴赫猜想(信息学奥赛一本通-T1157)_哔哩哔哩_bilibili

《信息学奥赛一本通》题解_1157_哥德巴赫猜想__哔哩哔哩_bilibili

奥赛一本通题目精讲 函数专题 1157 哥德巴赫猜想_哔哩哔哩_bilibili

哥德巴赫猜想 C语言 编程题讲解_哔哩哔哩_bilibili

信息学奥赛一本通题目详解【函数】1157_哥德巴赫猜想_哔哩哔哩_bilibili

1157:哥德巴赫猜想_哔哩哔哩_bilibili

#include<iostream>
using namespace std;
int sushu(int x)
{
	if(x<1) return 0;
  
	if(x==2) return 1;
  
	for(int i=2;i<=x-1;i++)
		if(x%i==0) return 0;
  
	return 1;
}

int main()
{
	int n,i,j;
	
	cin>>n;
	
	for(i=4;i<=n;i+=2)
	{
		for(j=2;j<i;j++)
	  		if(sushu(j))
	    		if(sushu(i-j))
	    		{
	      			cout<<i<<'='<<j<<'+'<<i-j<<endl;
	      			break;
	    		}
	}
	
  	return 0;
}
//china
/*

作业:

P5735 【深基7.例1】距离函数
https://www.luogu.com.cn/problem/P5735

P5736 【深基7.例2】质数筛
https://www.luogu.com.cn/problem/P5736

P5737 【深基7.例3】闰年展示
https://www.luogu.com.cn/problem/P5737
*/



5、3285:练46.4 第N个智慧数

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

【力扣每日一题刷题记录】【第N个数字】【含解题代码C++】

【力扣每日一题刷题记录】【第N个数字】【含解题代码C++】-CSDN博客

计蒜客 - 第N个智慧数字

计蒜客 - 第N个智慧数字-CSDN博客

51Nod 2141 第N个智慧数 c/c++题解

51Nod 2141 第N个智慧数 c/c++题解_智慧数c++-CSDN博客

/*
3285:练46.4 第N个智慧数
http://bas.ssoier.cn:8086/problem_show.php?pid=3285

计蒜客 - 第N个智慧数字
https://blog.csdn.net/qq_43658924/article/details/99614170
*/
#include<iostream>
#include<set>
using namespace std;
#define ll long long
int main()
{
    ll n,m,a;
    set<long long> st;
    while(cin>>n)
    //满足多组数据在线测试
    //eof结束即可
    {
        for(ll i=1;i<500;i++)
        for(ll j=i+1;j<=500;j++)
        {
            a=j*j-i*i;
            st.insert(a);
        }
        set<long long >::iterator i;
        ll j=1;
        for(i=st.begin();i!=st.end();i++,j++)
        {
            if(j==n) cout<<*i;
        }
        cout<<endl;
    }
    return 0;
}



6、3286:【例47.1】 倒序数

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

[例 47.1] 倒序数

1160:倒序数

信息学奥赛一本通(C++版)在线评测系统

1160:倒序数

1160:倒序数_哔哩哔哩_bilibili

倒序数(信息学奥赛一本通-T1160)_哔哩哔哩_bilibili

奥赛一本通题目精讲 函数专题 1160 倒序数 数字翻转的递归版本_哔哩哔哩_bilibili

《信息学奥赛一本通》题解_1160_倒序数_哔哩哔哩_bilibili

/*
3286:【例47.1】 倒序数
http://bas.ssoier.cn:8086/problem_show.php?pid=3286

1160:倒序数[递归]
https://blog.csdn.net/Tristal2010/article/details/121732187
*/
#include<iostream> //使用iostream库
#include<cstdio> //使用cstdio库
using namespace std;
int a(int y)//用来算最高为的函数
{
	int i;
	for(i=10;y/i>=10;i*=10)//一直缩位
	{}
	return i;//最后输出
}
int d(int x) //运用递归的d函数
{
	if(x<10) //停止的条件
		return x;
	else //递归关系式
		return (x%10)*a(x)+d(x/10);
}
int main() //主函数
{
	int a;//要被倒序的数
	cin>>a;//输入
	cout<<d(a);//输出
	return 0;
}



7、3287:【例47.2】 转进制

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

[例 47.2] 转进制

1161:转进制

信息学奥赛一本通(C++版)在线评测系统

1161:转进制

转进制(信息学奥赛一本通-T1161)_哔哩哔哩_bilibili

奥赛一本通题目精讲 函数专题 1161 转进制 函数与递归写法_哔哩哔哩_bilibili

1161:转进制_哔哩哔哩_bilibili

信息学奥赛一本通题目详解【递归】1161_转进制_哔哩哔哩_bilibili

程序设计基础 - 一维数组 - 案例:信奥题目1161转进制_哔哩哔哩_bilibili

《信息学奥赛一本通》题解_1161_转进制_哔哩哔哩_bilibili

/*
电子协会 C语言 3级  3 、十进制转任意进制

1161:转进制
http://ybt.ssoier.cn:8088/problem_show.php?pid=1161

用递归算法将一个十进制数 X 转换成任意进制数 M(M≤16)。
输入:一行两个数,第一个十进制数 X,第二个为进制 M。
输出:输出结果。
输入样例
31 16 {将十进制 31 转化为十六进制数}
输出样例
1F
*/
#include<iostream>
using namespace std;
void cal(int n,int k)
{
	char num[16]= {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	int temp;
	temp=n%k;
	n/=k;
	if(n!=0)//判断是否到达边界 n=0
		cal(n,k);
	cout<<num[temp];
}
int main()
{
	int x,m;
	
	cin>>x>>m;//输入十进制数 x 与要转换成的进制 m
	
	cal(x,m);//调用函数进行转换
	
	return 0;
}



8、3288:【例47.3】 最大公约数

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

[例 47.3] 最大公约数

1207:求最大公约数问题

信息学奥赛一本通(C++版)在线评测系统

信奥一本通_1207最大公约数

信奥一本通_1207最大公约数_哔哩哔哩_bilibili

递归-P25:《1207求最大公约数问题》-信奥一本通_哔哩哔哩_bilibili

《信息学奥赛一本通》递归算法:1207求最大公约数问题_哔哩哔哩_bilibili

求最大公约数问题(信息学奥赛一本通-T1207)_哔哩哔哩_bilibili

1627:【例 3】最大公约数

信息学奥赛一本通(C++版)在线评测系统

1915:【01NOIP普及组】最大公约数与最小公倍数

信息学奥赛一本通(C++版)在线评测系统

2021:【例4.6】最大公约数

信息学奥赛一本通(C++版)在线评测系统

第43课 最大公约数 《小学生C++趣味编程》

第43课 最大公约数 《小学生C++趣味编程》-CSDN博客

第43课 最大公约数 动动脑 第2题《小学生C++趣味编程》

第43课 最大公约数 动动脑 第2题《小学生C++趣味编程》-CSDN博客

第43课 最大公约数 动动脑 第3题《小学生C++趣味编程》

第43课 最大公约数 动动脑 第3题《小学生C++趣味编程》-CSDN博客

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,a,b;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a>>b;
		cout<<__gcd(a,b)<<endl;
	}
	return 0;
}



9、3289:练47.1 交作业

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

第77课 交作业啦(递归算法)

第77课 交作业啦(递归算法)_利用递归算法,试编一程序,算一算我收到多少本作业?-CSDN博客

/*
第77课 交作业啦(递归算法)
利用递归算法,试编一程序,算一算我收到多少本作业。 
*/
#include<iostream>                      
using namespace std;   
int zuoye(int n)
{  
	if(n==7)
    	return 1;
  	else
    	return zuoye(n+1)+1;
}
int main()
{
	cout<<zuoye(1)<<endl;
	return 0;
}
/*
zuoye(1)=7   zuoye(2)+1
zuoye(2)=6   zuoye(3)+1
zuoye(3)=5   zuoye(4)+1
zuoye(4)=4   zuoye(5)+1
zuoye(5)=3   zuoye(6)+1
zuoye(6)=2   zuoye(7)+1=2
*/
/*
?动动脑
1、函数的递归调用是通过()来实现的。
A、线性表   B、链表  C、队列   D、栈 

作业:
 
1163:阿克曼(Ackmann)函数
http://ybt.ssoier.cn:8088/problem_show.php?pid=1163

1158:求1+2+3+...
http://ybt.ssoier.cn:8088/problem_show.php?pid=1158

1404:我家的门牌号
http://ybt.ssoier.cn:8088/problem_show.php?pid=1404
*/



10、3290:练47.2 通力合作

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

/*
第78课 通力合作的100个数
利用递归算法,试编一程序,输出1-100的自然数。 
*/
#include<iostream>
#include<iomanip>
using namespace std;
void show(int n); //函数的说明 
int main()
{
	int n=100;
	show(n);
	return 0;
}
void show(int n)
{
	if(n!=1) 
	{
		show(n-1);	
	}
	
	cout<<setw(5)<<n;
	
	return;  //没有返回值,但需要返回到调用这个函数的位置 
}
/*

void show(int 2)
{
	if(n!=1) 
	{
		show(1);	
	}
	
	cout<<setw(5)<<n;
	
	return;  //没有返回值,但需要返回到调用这个函数的位置 
}

show(100);	show(99) show(98)  ......show(1)
  
                                       1 2 3 4  100
1、已知队列中依次存在下列元素{88,79,65,10,100},若第一个出队列的元素是88
,则第四个出队列的元素是( C)
A、79   B、65  C、10  D、100 

作业:

P5740 【深基7.例9】最厉害的学生
https://www.luogu.com.cn/problem/P5740

P5741 【深基7.例10】旗鼓相当的对手 - 加强版
https://www.luogu.com.cn/problem/P5741

P5742 【深基7.例11】评等级
https://www.luogu.com.cn/problem/P5742
 
*/





 




1、啊哈编程星球

啊哈编程星球!编程学习从这开始~

适用于:编程初学者、小学一至三年级

2、慧通教育

慧通教育

适用于:编程初学者、小学生编程入门

3、《信息学奥赛一本通 编程启蒙》C++版

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

适用于:编程初学者、小学生编程启蒙

争取在小学1-4年级就将2、3两个题库的全部或大部分题 做完

为进一步深入学习信奥打好坚实的基础

4、信息学奥赛一本通

信息学奥赛一本通(C++版)在线评测系统

5、洛谷

https://www.luogu.com.cn/

洛谷题单广场

题单列表 - 洛谷

6、AcWing

AcWing

7、编程魔法师

编程魔法师

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值