#include<bits/stdc++.h>//万能头 using namespace std;//使用std命名空间 int main(){//主函数 int n1,n2;char ch;//n1为第一个运算数,n2为第二个运算数,ch为运算符 cin>>n1>>ch>>n2;//输入:由于cin读取数字的特殊方式,当读取出非数字字符时会将其留在缓冲区不做处理,所以我们可以这样连用cin switch(ch){//switch 语句测试一个变量等于多个值时的情况。 case '+'://当运算符为+时 cout<<(n1+n2);//输出第一个运算数加第二个运算数 break;//退出switch case '-'://当运算符为-时 cout<<n1-n2;//输出第一个运算数减第二个运算数 break;//退出switch case '*'://当运算符为*时 cout<<n1*n2;//输出第一个运算数乘第二个运算数 break;//退出switch case '/'://当运算符为/时 cout<<n1/n2;//输出第一个运算数除第二个运算数 break;//退出switch case '%'://当运算符为%时 cout<<n1%n2;//输出第一个运算数对第二个运算数取模 break;//退出switch } return 0;//返回0 }2.最⼤数 max(x,y,z)
#include <iostream> #include <algorithm> using namespace std; int main() { double a, b, c; cin >> a >> b >> c; cout << fixed << setprecision(3) << max({a, b, c}) / (max({a + b, b, c}) * max({a, b, b + c})) << endl; return 0; }#include<bits/stdc++.h> using namespace std; int main() { int n=0; cin>>n; int max=0; int num=0; int min=10001; while(n--) { cin>>num; if(max<num) { max=num; } if(min>num) { min=num; } } cout<<max-min; }#include<bits/stdc++.h> using namespace std; double a[105][25]; double q[105]; double w[105]; int main(){ int n,m; cin>>n>>m; double sum=0; for(int i=1;i<=n;i++){ w[i]=15; } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; w[i]=min(a[i][j],w[i]); q[i]=max(a[i][j],q[i]);//记录最高分和最低分。 } } for(int i=1;i<=n;i++){ double s=0; for(int j=1;j<=m;j++){ s+=a[i][j];//计算每名同学的总得分。 } s-=w[i]; s-=q[i];//减去最低分和最高分。 sum=max(sum,s);//记录最高的总得分。 } printf("%.2lf",sum/(m-2)); }#include<iostream> using namespace std; bool check(int x){ int sum=0; for(int i=1;i*i<=x;i++){//从1枚举到x的平方根就可以了,降低时间复杂度。 if(x%i==0){ sum+=i; if(i*i!=x)sum+=x/i;//因为如果i是x的因数,则x/i也是x的因数。 //但是如果x是平方数的话,则x的平方根会被重复计算,须加上特判。 } } return sum-x==x; //因为sum-x==x本身就是布尔表达式,所以可以直接返回。 } int main(){ for(int i=2;i<=10000;i++){ if(check(i))cout<<i<<endl; } return 0; }#include<bits/stdc++.h> using namespace std; int n,cough,ans; string name; //循环n次读入,可以重复使用变量 double temp; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>name>>temp>>cough; //读入病人的信息 if(temp>=37.5&&cough) //如果符合筛查条件 { cout<<name<<endl; //输出名字 ans++; //被初筛为甲流的病人数量+1 } } cout<<ans<<endl; //输出被初筛为甲流的病人数量 return 0; }#include<cstdio> using namespace std; int n,pri[50005]={},cnt=0; int main(){ scanf("%d",&n);//输入 for(int i=2;i<=n;i++){//埃氏筛法 if(pri[i])continue; for(int j=i+i;j<=n;j+=i)pri[j]=1;//质数的几倍是合数 } for(int i=2;i<=n;i++)if(!pri[i])cnt++;//统计质数 printf("%d",cnt);//输出 return 0; }#include<bits/stdc++.h> using namespace std; int n; bool prime(int x)//判断是否为质数的函数 { if(x==1) return false; if(x==2) return true; int j=2; while(j*j<=x && x%j!=0) j++; if(x%j==0) return false; else return true; } bool pd=true; int main() { cin>>n; for(int i=3;i<=n;i++) { if(prime(i) && prime(i-2))//枚举 { cout<<i-2<<" "<<i<<endl; pd=false; } } if(pd) cout<<"empty"<<endl; //若没有找到,则输出 "empty" return 0; }#include<bits/stdc++.h> using namespace std; bool ss(int x)//判断素数 { for(int i=2;i<=x-1;i++) if(x%i==0) return false; return true; } bool hw(int x)//判断回文数 { int t=0,m=0,a[15],b[15]; while(x!=0) { t++; a[t]=x%10; x/=10; } for(int i=t;i>=1;i--) { m++; b[m]=a[i]; } for(int i=1;i<=t;i++) if(a[i]!=b[i]) return false; return true; } int main() { int n,ans=0; cin>>n; for(int i=11;i<=n;i++) if(hw(i)&&ss(i))//如果两个条件均符合,计数器就加一 ans++; cout<<ans; return 0; }#include <iostream> #include <string> #include <algorithm> using namespace std; int n, m;bool f, b; bool isp(int n) { if(n == 1) return 0; if(n == 2) return 1; if(n % 2 == 0) return 0; for(int i = 3;i * i <= n;++i) if(n % i == 0) return 0; return 1; } int main() { cin >> n >> m; for(int i = n;i <= m;++i) { string t = to_string(i); reverse(t.begin(), t.end()); int j = stoi(t); if(isp(i) && isp(j)) { if(f) cout << ","; cout << i;f = 1;b = 1; } } if(!b) cout << "No"; return 0; }#include <bits/stdc++.h> using namespace std; int f(int x) { if (x == 0) return 1; return f(x - 1) * x; } int n; int main() { cin >> n; cout << f(n) << endl; return 0; }#include<bits/stdc++.h> using namespace std; int n; int main(){ cin>>n; for(int i=1;i<=n;i++){ int a; cin>>a; int x[40]; x[1]=x[2]=1; for(int i=3;i<=a;i++) x[i]=x[i-1]+x[i-2]; cout<<x[a]<<endl; } return 0; }#include<bits/stdc++.h> using namespace std; int f(int n){ if(n==1)return 1; return f(n-1)+n; } int main(){ int n; cin>>n; cout<<f(n)<<endl; return 0; }#include <bits/stdc++.h> using namespace std; int a, b; int ack(int a, int b){ if (a == 0) return b + 1; if (b == 0) return ack(a - 1, 1); // 递归边界 return ack(a - 1, ack(a, b - 1)); // 函数递归调用 } int main(){ cin >> a >> b; cout << ack(a, b); }#include<bits/stdc++.h> using namespace std; char a[20];//以字符串的形式存储整数 int k,lena;//lena表示字符串的长度 int main() { cin>>a>>k; lena=strlen(a);//strlen函数返回字符数组的长度 cout<<a[lena-k];//输出右边第k位 return 0; } #include <cstdio> #include <cmath> using namespace std; inline double f(double x, int n) { if(n > 1) return sqrt(n + f(x, n - 1)); else return sqrt(1 + x); }