文章目录

  • 1.回文数判定
  • 2.质数的判定
  • 3.最大公因数和最小公倍数
  • 4.阶乘
  • 5.超大数(200位以内)判断是否为3的整数倍
  • 6.保留m位小数
  • 7.分解质因数
  • 8.十进制与二进制的互相转换
    • (1)十进制转二进制
    • (2)二进制转十进制
  • 9.十进制与十六进制的互相转换
    • (1)十进制转十六进制
    • (2)十六进制转十进制
  • 10.中位数、众数
    • (1)中位数
    • (2)众数
  • 11.小数化分数
  • 12. 与、或、异或 的模拟
  • 13.后缀表达式转换

1.回文数判定

//Author:PanDaoxi
#include <iostream>
#include <cmath>
using namespace std;
bool text(int n){ //判定回文数 int a[11],m=n,k=0;while(m){a[k++]=m%10;m/=10;}m=0;for(int i=0;i<k;i++){m+=pow(10,i)*a[k-i-1];}if(m==n) return true;else return false;
}
int main(){int n;cin>>n;if(text(n)) cout<<"YES";else cout<<"NO";return 0;
}

2.质数的判定

//Author:PanDaoxi
#include <iostream>
using namespace std;
bool prime(int n){if(n==1) return false;for(int i=2;i<n;i++) if(n%i==0) return false;return true;
}
int main(){int n;cin>>n;if(prime(n)) cout<<"YES";else cout<<"NO";return 0;
}

3.最大公因数和最小公倍数

//Author:PanDaoxi
#include <iostream>
using namespace std;
int zdgys(int a,int b){for(int i=a>b?a:b;i>=1;i--){if(a%i==0&&b%i==0) return i;}
}
int zxgbs(int a,int b){return a*b/zdgys(a,b);
}
int main(){int n,m;cin>>n>>m;cout<<zdgys(n,m)<<" "<<zxgbs(n,m);return 0;
}

4.阶乘

// Author:pandaoxi
#include <iostream>
using namespace std;
int main(){int n,s=1;cin>>n;for(int i=1;i<=n;i++){s*=i;}cout<<s;return 0;
}

5.超大数(200位以内)判断是否为3的整数倍

// Author:pandaoxi
#include <iostream>
#include <cstring>
using namespace std;
int main(){int a[201],l=1,s=0;char b[201];cin>>b;for(int i=0;i<strlen(b);i++){if(b[i]=='0') a[l++]=0;else if(b[i]=='1') a[l++]=1;else if(b[i]=='2') a[l++]=2;else if(b[i]=='3') a[l++]=3;else if(b[i]=='4') a[l++]=4;else if(b[i]=='5') a[l++]=5;else if(b[i]=='6') a[l++]=6;else if(b[i]=='7') a[l++]=7;else if(b[i]=='8') a[l++]=8;else if(b[i]=='9') a[l++]=9;else return 0;}for(int i=0;i<l;i++){s+=a[i];}if(s%3) cout<<"No";else cout<<"Yes";return 0;
}

6.保留m位小数

// Author:PanDaoxi
#include <iostream>
#include <iomanip>
using namespace std;
int main(){double n;int m;cin>>n>>m;cout<<fixed<<setprecision(m)<<n;return 0;
}

7.分解质因数

// Author:PanDaoxi
#include <iostream>
#include <algorithm>
using namespace std;
int main(){int n,a[1001],k=0;cin>>n;if(n<2){cout<<"Impossible";return 0;}for(int i=2;i<=n;i++){while(n%i==0){a[k++]=i;n/=i;}}sort(a,a+k);for(int i=0;i<k;i++){cout<<a[i]<<" ";}return 0;
}

8.十进制与二进制的互相转换

(1)十进制转二进制

// Author:PanDaoxi
#include <iostream>
using namespace std;
int a[10001],k=0,s=2; // s进制(s<=10)
void f(int n){if(n==0) return;a[k++]=n%s;f(n/s);
}
int main(){int n;cin>>n;f(n);for(int i=k-1;i>=0;i--){cout<<a[i];}return 0;
}

(2)二进制转十进制

// Author:PanDaoxi
#include <iostream>
#include <cmath>
using namespace std;
int main(){string s;int a[10001],sum=0,k=0;cin>>s;for(int i=0;i<s.length();i++){if(s[i]-'0') a[k++]=1;else a[k++]=0;}for(int i=0;i<k;i++){sum+=pow(2,i)*a[k-i-1];}cout<<sum;return 0;
}

9.十进制与十六进制的互相转换

(1)十进制转十六进制

// Author:PanDaoxi
#include <iostream>
using namespace std;
int a[10001];
int k=0;
void f(int n){if(n==0) return;int x=n%16;if(x<10) a[k++]=x+'0';else a[k++]=x+('A'-10);f(n/16);
}
int main(){int n;cin>>n;f(n);for(int i=k-1;i>=0;i--){cout<<char(a[i]);}return 0;
}

(2)十六进制转十进制

// Author:PanDaoxi
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
int main(){char s[1001];cin>>s;int sum=0,len=strlen(s);for(int i=0;i<len;i++){int x;if('A'<=s[i]&&s[i]<='F') x=s[i]-('A'-10);if('0'<=s[i]&&s[i]<='9') x=s[i]-'0';sum+=pow(16,len-i-1)*x; }cout<<sum;return 0;
}

10.中位数、众数

(1)中位数

// Author:PanDaoxi
#include <iostream>
#include <algorithm>
using namespace std;
int main(){int n,a[1001];double s;cin>>n;for(int i=0;i<n;i++){cin>>a[i];}sort(a,a+n);if(n%2){s=a[n/2];}else{s=(a[n/2-1]+a[n/2])/2.0;}cout<<s;return 0;
}

(2)众数

// Author:PanDaoxi
#include <iostream>
using namespace std;
int main(){int n,a[10001]={},x,y;cin>>n;for(int i=0;i<n;i++){cin>>x;a[x]++;}x=0;for(int i=0;i<10001;i++){if(a[i]>x){x=a[i];y=i;}}cout<<y;return 0;
}

11.小数化分数

// Author:PanDaoxi
#include <iostream>
#include <cmath>
using namespace std;
int zdgys(int a,int b){for(int i=a>b?a:b;i>=1;i--){if(a%i==0&&b%i==0) return i;}
}
int main(){string x;bool jie=false;cin>>x;int len=x.length(),y,z,zs=0,xs=0;for(int i=0;i<len;i++){if(x[i]=='.'){z=i-1;y=i+1;jie=true;break;}}if(jie){// 实现整、小分离// 整数 x[0~z]  小数 x[y~(len-1)] for(int i=0;i<=z;i++){zs+=pow(10,z-i)*(x[i]-'0');}// cout<<zs;for(int i=y;i<len;i++){xs+=pow(10,len-i-1)*(x[i]-'0');}// 小数部分位数为 len-yint b=pow(10,len-y),a=xs+zs*b,gys=zdgys(a,b);cout<<a/gys<<"/"<<b/gys;}else{cout<<"impossible!";}return 0;
}



12. 与、或、异或 的模拟

// Author:PanDaoxi
#include <bits/stdc++.h>
using namespace std;
// 十进制转二进制
int a[10001],l;
void f(int n){if(n==0) return;a[l++]=n%2;f(n/2);
}
string tentotwo(int n){f(n);string s="";for(int i=l-1;i>=0;i--){s+=a[i]+'0';}memset(a,0,sizeof(a));l=0;return s;
}
// 二进制转十进制
int twototen(string s){int b[11]={},sum=0,k=0;for(int i=0;i<s.size();i++){if(s[i]-'0') b[k++]=1;else b[k++]=0;}for(int i=0;i<k;i++){sum+=pow(2,i)*b[k-i-1];}return sum;
}
int main(){int a,b;char c;// 输入表达式cin>>a>>c>>b;// 转换为二进制string s1,s2,result="";s1=tentotwo(a),s2=tentotwo(b);// 补齐前导0int l1=s1.size(),l2=s2.size();while(min(l1,l2)<max(l1,l2)){if(l1<l2) s1='0'+s1;else s2='0'+s2;l1=s1.size(),l2=s2.size();}// 按位与if(c=='&'){// 这时 l1=l2 所以都一样for(int i=l1-1;i>=0;i--){// 同真则真result=((s1[i]=='1'&&s2[i]=='1')?"1":"0")+result;}}// 按位或else if(c=='|'){for(int i=l1-1;i>=0;i--){// 一真则真result=((s1[i]=='1'||s2[i]=='1')?"1":"0")+result;}}// 按位异或else if(c=='^'){for(int i=l1-1;i>=0;i--){// 不同为真result=((s1[i]!=s2[i])?"1":"0")+result;}}else cout<<0;// 再转换为10进制cout<<twototen(result);return 0;
}

直接输入表达式即可,但是切记不要太大,程序会爆掉。
仅为了方便大家理解,考试时位运算也是很有用的。
输入整数 a a a 字符 c c c 和整数 b b b ,别输负数,中间不用空格。

13.后缀表达式转换

P1149 后缀表达式
诶嘿还挺神奇,我就蒙出来了……

C++常用数学运算(待完结)相关推荐

  1. MaxCompute SQL函数详解 ODPS SQL函数详解---之常用数学运算相关函数

    MaxCompute SQL函数详解 ODPS SQL函数详解---之常用数学运算相关函数 MaxCompute/ODPS SQL常用数学运算相关函数 ABS函数-计算绝对值 sql:select A ...

  2. R 符号含义与常用数学运算 ∈ R 使用笔记

    文章目录 1.常用符号含义 2.常用数学函数 3.常用的统计函数 参考:R语言学习–特殊符号的意义:https://www.jianshu.com/p/76d1cf475827 1.常用符号含义 首先 ...

  3. tf第四讲:tf中的循环tf.while_loop,条件tf.cond,比较、数学运算、类型转换

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...

  4. mysql日期加一天的公式_2020国考行测冲刺指导:数学运算常用公式大盘点

    2020国考行测冲刺指导:数学运算常用公式大盘点 (2020国家公务员考试尚未开始,参考2019国考) 1.奇偶性 加减规律:同奇同偶则为偶,一奇一偶则为奇. 偶数 +奇数=奇数 奇数+奇数=偶数 偶 ...

  5. Hive常用运算(关系运算)、逻辑运算与数学运算、数值运算、日期函数、条件函数、字符串函数

    hive 常用运算 第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= •大于比 ...

  6. julia常用矩阵函数_Julia系列教程3 数学运算 矩阵运算

    数学运算https://www.zhihu.com/video/1113554595376295936 数学运算 比Matlab更直观的数学表达方式 x = 10 2x >>20 但这就导 ...

  7. 行测之数学运算——常用解题技巧

    数学运算中的常用解题技巧有尾数法.带入排除法.特值法.裂项相消法.提取公因式.适当组合法等. (一)尾数法 尾数法是指在考试过程中,不计算算式各项的值,只考虑算式各项的尾数,进而确定结果的尾数.由此在 ...

  8. Numpy数组常用函数汇总(数学运算、三角函数、位运算、比较运算及其它)

    一.数学运算 函数名 description 说明 add(x1, x2, [, out, where, casting, order, -]) Add arguments element-wise. ...

  9. 最后的分的计算机公式,省考最后10天!掌握这些数学运算公式,提分!

    2019年山东公务员考试4月20日笔试,目前的复习时间已经不多了.为帮助大家冲刺复习,突破数学运算这一难关,山东公务员考试网(www.sdgwy.org)总结了数学运算必背公式,大家可学习记忆. 1. ...

最新文章

  1. 西游记里河水让人怀孕的秘密:是寄生虫!我往河里放了寄生虫!
  2. RabbitMQ快速入门--介绍和安装
  3. word-break 对一个字符串根据给出的字典判断是否可以根据字典切分(DP问题)
  4. 用 Python 实现溺水识别
  5. 【华为云技术分享】云图说|人工智能新科技—文字识别服务
  6. 37线性映射04——像与核、核与像的计算、线性映射的维数公式
  7. 此计算机上缺少vc2005_sp1_with_atl_fix_redist
  8. 使用AltSearch格式化Kindle读书笔记
  9. Android - NETD解读
  10. PS4 Pro 拆机记
  11. Elastic:data_hot,data_warm,data_cold角色有什么用
  12. AIM Tech Round (Div. 1) C. Electric Charges 二分
  13. JetBrains Account验证时JetBrains账户连接错误:连接拒绝(连接拒绝) 或 用于签署许可证的证书不是由JetBrains root certifi签署的。
  14. 美团内部讲座 | 清华大学崔鹏:因果推断技术最新的发展趋势
  15. 华为模拟器三个路由器全网互通
  16. 应用检查后台启动权限方法(小米官方给出的)
  17. 软件工程作业-——项目设计
  18. Datax从入门到精通03--Kerberos认证问题处理
  19. mysql grant 数据库_MySQL的Grant命令详解
  20. 测试用例设计思路一则----大转盘活动测试用例设计

热门文章

  1. Maya2017无法导出fbx文件
  2. 汽车经销商集团财务必修课:如何做好多品牌、多店的财务管理?
  3. 中国三家正部级央企名单
  4. 11服务方式:gRPC的四种服务方式
  5. 解决 zabbix 图表中文乱码
  6. python打包分发工具:setuptools
  7. 8Manage:如何变革性地加强企业的采购管理能力?
  8. zabbix实现对mysql数据库主从监控
  9. comodo positivessl wildcard通配符ssl证书
  10. python-pycrypto的完全版安装