枚举n到m之间的所有质数
#include<iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
if(n>m){//保证n<m
swap(n,m);
}
for(int j=n;j<=m;j++){
if(j==1){
continue;
}
bool is_prime=true;
for(int i=2;i*i<=j;i++){
if(j%i==0){
is_prime=false;
break;
}
}
if(is_prime){
cout<<j<<endl;
}
}
return 0;
}
回文数字
#include<iostream>
using namespace std;
int Huiwen(int n){//判断回文数
int xx=n,sum=0;
while(n>0){
int a=n%10;
n/=10;
sum=sum*10+a;
}
if(xx==sum){
return 1;
}else{
return 0;
}
}
int Sum(int n){
int a,sum=0;
while(n>0){
a=n%10;
n/=10;
sum+=a;
}
return sum;
}
int main(){
int n,;
cin>>n;
for(int i=10000;i<=999999;i++){
if(Huiwen(i)&&(Sum(i)==n)){
cout<<i<<endl;
}
}
return 0;
}
四叶玫瑰
#include<iostream>
using namespace std;
int Sum(int n){
int a,sum=0;
while(n>0){
a=n%10;
n/=10;
sum+=a*a*a*a;
}
return sum;
}
int main(){
int n,sum=0;
cin>>n;
for(int i=1000;i<=9999;i++){
if(Sum(i)==i){
cout<<i<<endl;
}
}
return 0;
}
生日蜡烛
#include<iostream>
using namespace std;
int main(){
for(int i=1;i<=200;i++){
int can=0,j=i;
while(can<236&&j<=200){
can+=j;
j++;
}
if(can==236){
cout<<i<<endl;
}
}
return 0;
}
奖券数目
#include<iostream>
using namespace std;
int a(int n){
while(n>0){
int x=n%10;
if(x==4){
return 0;
}
n/=10;
}
return 1;
}
int main(){
int n,m;
int sum=0;
cin>>n>>m;
for(int i=10000;i<=99999;i++){
sum+=a(i);
}
cout<<sum;
return 0;
}
方程的解
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
for(int a=1;a*a<=n;a++){
for(int b=a+1;a*a+b*b<=n;b++){
for(int c=b+1;a*a+b*b+c*c<=n;c++){
if(a*a+b*b+c*c==n){
cout<<a<<" "<<b<<" "<<c<<endl;
}
}
}
}
return 0;
}
最大子阵
#include<iostream>
using namespace std;
int A[55][55];
int main(){
int n,m,ans=-1010;;
cin>>n>>m;
for(int i=0;i<n;i++){//输入矩阵
for(int j=0;j<m;j++){
cin>>A[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
for(int k=0;k<m;k++){
for(int l=k;l<m;l++){
int tmp=0;
for(int p=i;p<=j;p++){
for(int q=k;q<=l;q++){
tmp+=A[p][q];
}
}
if(tmp>ans){
ans=tmp;
}
}
}
}
}
cout<<ans<<endl;
return 0;
}
-
首先,代码定义了一个二维数组A,大小为55*55,用于存储输入的矩阵。
-
接着,代码读入了两个整数n和m,表示矩阵的行数和列数。
-
然后,代码通过两个for循环读入了矩阵A的每个元素。
-
接下来,代码使用四个for循环枚举了所有可能的子矩阵,并计算它们的和。其中,第一个和第二个for循环枚举了子矩阵的上下边界,第三个和第四个for循环枚举了子矩阵的左右边界。最内层的两个for循环用于计算子矩阵的和。
-
在计算子矩阵的和时,代码使用了一个变量tmp来存储当前子矩阵的和。最后,代码使用一个if语句判断当前子矩阵的和是否大于之前的最大和ans,如果是,则更新ans的值。
-
最后,代码输出了最大和ans。