数学问题
输出所有4位超级素数:前1位,前2位,前3位,前4位全是素数。
#include <bits/stdc++.h> using namespace std; bool isPrime(int a){ if(a<=1) return false; int sqr=(int)sqrt(1.0*a); for(int i=2;i<=sqr;i++){//从2开始! if(a%i==0) return false; } return true; } int main(){ int cnt=0; for(int i=2;i<10;i++){ if(isPrime(i)){ for(int j=2;j<10;j++){ int temp1=i*10+j; if(isPrime(temp1)){ for(int k=2;k<10;k++){ int temp2=temp1*10+k; if(isPrime(temp2)){ for(int l=2;l<10;l++){ int temp3=temp2*10+l; if(isPrime(temp3)){ cnt++; cout<<temp3<<" "; if(cnt%6==0) cout<<endl; } } } } } } } } return 0; }
输入一个长整型 数字 输出所有 小于等于这个数字的梅森素数
梅森数,是指形如2p-1的一类数,其中指数p是大于等于2的正整数,常记为M(p) 。如果梅森数是素数,就称为梅森素数。
#include <bits/stdc++.h> using namespace std; bool isPrime(int a){ if(a<=1) return false; int sqr=(int)sqrt(1.0*a); for(int i=2;i<=sqr;i++){ if(a%i==0) return false; } return true; } int main(){ int n; cin>>n; for(int i=0;i<=n;i++){ if(isPrime(i)){ int m=(int)pow(2.0,1.0*i)-1; if(m>n) break; if(isPrime(m)) cout<<"M("<<i<<")="<<m<<endl; } } return 0; }
输入一个占32 3232比特位的十进制正整数,按下述规则输出加密后的十进制整数:
设这个整数的二进制表示为xxxx pppp xxxx eeee xxxx eeee xxxx eeee,将其中标记为e的均左移8位,标记为p的右移24位,标记为x的位置不变,输出加密后的数的十进制表示
Sample Input:
1234
Sample Output:
262864
#include <bits/stdc++.h> using namespace std; int a[8]={0}; int main(){ int n; cin>>n; for(int i=7;i>=0;i--){ a[i]=n&15; n>>=4;//第一次写的n>>4 我说怎么一直不对 } int res=0; for(int i=0;i<8;i++){ if(i%2==0){ res=res|a[i]; } else res=res|a[(i+2)%8]; if(i!=7) res<<=4; } cout<<res<<endl; //cout<<(-1)%8<<endl; return 0; }
输入两个整数a aa和n nn,要求从a aa中删除n nn个位置上的数后剩下的数按原来的相对顺序组成的新数最小,求这个数
Sample Input:
62354 2
Sample Output:
234
//为什么不多给几个测试用例! #include <bits/stdc++.h> using namespace std; int fig[1000]={0}; int res[1000]={0}; int findmin(int a[],int low,int high){ int minidx=low; int i; for(i=low;i>=high;i--){ if(a[i]<a[minidx]){ minidx=i; } } return minidx; } int main(){ int a,n; cin>>a>>n; int len=0; while(a>0){ fig[len++]=a%10; a/=10; } int cnt=len-n; int k=0;//控制挑选数字的次数 int low=len-1; int high; while(k<cnt){ high=cnt-k-1; int idx=findmin(fig,low,high); res[k++]=fig[idx]; low=idx-1; } for(int i=0;i<cnt;i++){ cout<<res[i]; } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律