#include <iostream>
#include <cmath>
//要有头文件 
using namespace std;

int main(){
	int d=-5;
	cout<<abs(d)<<endl;//求整数5的绝对值
	double e=-3.56;
	cout<<fabs(e) <<endl;//求浮点数的绝对值 
	
	double c=3.1678;
	cout<<floor(c) <<endl; //向下取整数,输出3	
	cout<<ceil(c)<<endl;//向上取整数,输出4

	int b=3,bb;
	bb=pow(2,b);//求2的3次方 
	cout<<bb<<endl; 
	
	double a=4,aa;
	aa=sqrt(a);//求根号a的值 
	cout<<aa<<endl;		
	
	int a=8;
	cout<<log2(a);//输出3,对数函数,求2的多少次方等于a   
	cout<<log10(100);//输出2 
	return 0;
}
#include <bits/stdc++.h>
using namespace std;

int main(){
	//保留n位小数,并四舍五入
	double pi=3.14159265;	 
	int n; 
	cin>>n;	
	//方法1:
	int m;	
	m=pi*(pow(10,n))+0.5;
	cout<<m/pow(10,n)<<endl;	
	//方法2: 
	cout<<fixed<<setprecision(n)<<pi<<endl;
	
	//四舍五入保留到个位方法
	double f=126.678; 
	//round(f)函数可以四舍五入到整数位 
	cout<<(int)round(f) <<endl;	
	cout<<(int)(f+0.5)<<endl;
	cout<<fixed<<setprecision(0)<<f<<endl;	
		
	cout.unsetf(ios::fixed);//这行代码是取消之前的fixed设置 
	
	//四舍五入最简洁的方法就是在对应位置上+5,然后取整数的方式去掉多余的部分 
	double g=6295.365123;
	cout<<(int)((g+50)/100)*100<<endl ;//想保留到百位四舍五入
	cout<<setprecision(7)<<int((g+0.005)*100)/100.0;//想保留到小数点后2位并四舍五入
		
	return 0;
}
#include <bits/stdc++.h>
using namespace std;

int main(){
	//数位分离的方法:利用取余求最末位的数 
	int a=1234;
	int ge,shi,bai,qian;
	ge=a%10;
	shi=a/10%10;
	bai=a/100%10;
	qian=a/1000;
	cout<<ge<<" "<<shi<<" "<<bai<<" "<<qian;	
	return 0;
}

#include<iostream>//斐波那契数列递推代码
#include<string>
#include<cstring>
using namespace std;
long long f[10001];//一、定义数组 
int main(){  
	int n;
	cin>>n;
    f[1]=0;f[2]=1;//三、边界值 
    for (int i=3;i<=n;i++){
    	f[i]=f[i-1]+f[i-2];//二、递推方程 
	}
	cout<<f[n];//四、确定答案 
return 0;}

//求素数
#include <iostream>
using namespace std;
bool ss(int x){
	if(x<2)return false;
	for(int i=2;i*i<=x;++i){//i<=sqrt(x);
	//注意i*i是否爆int
		if(x%i==0)return false;
	}
	return true;
}
int main(){
	int n;
	cin>>n;
	if(ss(n)==true)cout<<"yes"	;
	return 0;
}