当前位置: 首页 > article >正文

C++煞笔笔记

想到什么写什么

判断素数 \text{判断素数} 判断素数

bool is_prime_number(int n) {
	bool r=true;
	for(int i=2; i*i<=n; i++) {
		if(n%i==0) {
			r=false;
			break;
		}
	}
	if(n<=1) {
		r=false;
	}
	return r;
}

判断回文数 \text{判断回文数} 判断回文数

bool is_palindrome(int i) {
	int t=i,n=0;
	while(t) {
		n=n*10+t%10;
		t/=10;
	}
	return (i==n);
}

冒泡排序 \text{冒泡排序} 冒泡排序

for(i=1; i<=n-1; i++) {
		for(j=0; j<=n-1-i; j++) {
			if(c[j]>c[j+1]) {
				swap(c[j],c[j+1]);
			}
		}
	}

选择排序 \text{选择排序} 选择排序

for(i=1; i<n; i++) {
		ma=0;
		for(j=1; j<=n-i; j++) {
			if(a[j]>a[ma]) {
				ma=j;
			}
		}
		if(ma!=n-i) {
			swap(a[n-i],a[ma]);
		}
	}

插入排序 \text{插入排序} 插入排序

for(i=1; i<n; i++) {
	for(j=0; j<i; j++) {
		if(a[i]<=a[j]) break;
	}
	if(j!=i)  {
		t1=a[i];
		for(k=i-1; k>=j; k--) {
			a[k+1]=a[k];
		}
		a[j]=t1;
	}
}

桶排序 \text{桶排序} 桶排序

for(int i=0;i<n;i++){
		cin>>k;
		a[k]++;
	}
for(int i=1;i<=1145;i++){
	while(a[i]>0){
		cout<<i<<" ";
		a[i]--;
	}
}

快速排序 \text{快速排序} 快速排序

void quick_sort(int l, int r){
    if(l >= r) return;
    
    int i = l - 1, j = r + 1;
    int x = q[l + r >> 1];
    while(i < j)
    {
        do i++; while(q[i] < x);
        do j--; while(q[j] > x);
        if(i < j) swap(q[i], q[j]);
    }
    quick_sort(l, j);
    quick_sort(j + 1, r);
}

sort \text{sort} sort

/*bool cmp(int a,int b){
	return a<b;
}*/
sort(a,a+n);//sort(a,a+n,cmp);

快读 \text{快读} 快读

int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9')x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
    return x*f;
}

高精度加 高精度加 高精度加

#include<bits/stdc++.h>
using namespace std;
string a1,b1;
int a[1145],b[1145,c[1145];
int main()
{
	cin>>a1>>b1;
	for(int i=0;i<a1.size();i++)
	{
		a[i]=a1[a1.size()-i-1]-'0';
	}
	for(int i=0;i<b1.size();i++)
	{
		b[i]=b1[b1.size()-i-1]-'0';
	}
	int len=max(a1.size(),b1.size());
	for(int i=0;i<len;i++)
	{
		c[i]+=a[i]+b[i];
		if(c[i]>=10)
		{
			c[i+1]+=c[i]/10;
			c[i]%=10;
		}
	}
	if(c[len]!=0)len++;
	for(int i=len-1;i>=0;i--)cout<<c[i];
	return 0;
}

高精度乘 高精度乘 高精度乘

#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[1145],b[1145],c[1145],i,j;
int main()
{ 
	int p;
	cin>>s1>>s2;
	for(i=0;i<s1.size();i++)
	{
		a[i]=s1[s1.size()-i-1]-'0';
	}
	for(i=0;i<s2.size();i++)
	{
		b[i]=s2[s2.size()-i-1]-'0';
	}
	for(i=0;i<s1.size();i++)
	{
		for(j=0;j<s2.size();j++)
		{
			c[i+j]=c[i+j]+a[i]*b[j];
			if(c[i+j]>=10)
			{
				c[i+j+1]+=c[i+j]/10;
				c[i+j]%=10;
			}
		}
		
	}
	for(i=s1.size()+s2.size()-1;i>=0;i--)
	{
		if(c[i]!=0){
			p=i;
			break;
		}
	}
	for(i=p;i>=0;i--)
	{
		cout<<c[i];
	}
	return 0;
} 


高精度除 高精度除 高精度除

#include<bits/stdc++.h>
using namespace std;
int main() {
	int a,b,n,t;
	cin>>a>>b>>n;
	t=a%b;
	cout<<a/b<<'.';
	 for(int i=0;i<n;i++)
	 {
	 	t*=10;
	 	cout<<t/b;
	 	t=t%b;
	 }
	 return 0;
 } 

高精度减 高精度减 高精度减

#include<bits/stdc++.h>
using namespace std;
string a1,b1;
int a[1145],b[1145],c[1145];
char q='+';
int main()
{
	int p=0;
	cin>>a1>>b1;
	if(a1.size()<b1.size()||(a1.size()==b1.size()&&a1<b1))
	{
		q='-';
		swap(a1,b1);
	}
	for(int i=0;i<a1.size();i++)
	{
		a[i]=a1[a1.size()-i-1]-'0';
	}
	for(int i=0;i<b1.size();i++)
	{
		b[i]=b1[b1.size()-i-1]-'0';
	}
	for(int i=0;i<a1.size();i++)
	{
		if(a[i]<b[i])
		{
			a[i+1]-=1;
			a[i]+=10;
		}
		c[i]=a[i]-b[i];
	}
	if(q=='-')cout<<'-';
	for(int i=a1.size();i>=0;i--)
	{
		if(c[i]!=0)
		{
			p=i;
			break;
		}
	}
	for(int i=p;i>=0;i--)cout<<c[i];
	return 0;
}


http://www.kler.cn/a/16845.html

相关文章:

  • 什么是数字图像?
  • 10款翻译工具实践体验感受与解析!!!!!
  • IEC60870-5-104 协议源码架构详细分析
  • 同三维T610UDP-4K60 4K60 DP或HDMI或手机信号采集卡
  • Gsensor加速度传感器数据异常及概率性卡死
  • 【2024最新】基于springboot+vue的闲一品交易平台lw+ppt
  • 功能齐全的 DIY ESP32 智能手表设计之原理图讲解一
  • python实战应用讲解-【numpy数组篇】实用小技巧(九)(附python示例代码)
  • 这一篇LiveData掉不掉价(使用+粘性事件解决)
  • 07 Kubernetes 网络与服务管理
  • 项目沟通管理和干系人管理
  • 如何学习数据结构和算法
  • 《智能手机心率和呼吸率测量算法的前瞻性验证》阅读笔记
  • 23年5月高项备考学习笔记 —— 信息系统治理
  • NLP实战:基于Pytorch的文本分类入门实战
  • PS磨皮插件portraiture最新版磨皮工具
  • 【Python习题集3】常用数据结构习题
  • vcruntime140_1.dll丢失的解决方法
  • 3个经典线程同步问题
  • 用ChatGPT通过WebSocket开发一个交互性的五子棋微信小程序(二)
  • ArduPilot之开源代码基础知识Threading概念
  • Vue3通透教程【十四】TS复杂类型详解(一)
  • MATLAB函数封装2:QT调用封装函数
  • 至少要吃掉多少糖果
  • HPDA的资料
  • 荔枝派Zero(全志V3S)制作 IMG 镜像文件