想到什么写什么
判断素数\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;}
高精度加高精度加高精度加
#includeusing 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;}
高精度乘高精度乘高精度乘
#includeusing 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;}
高精度除高精度除高精度除
#includeusing 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; }
高精度减高精度减高精度减
#includeusing 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;}