回文日期
#include<iostream>
#include<algorithm>
using namespace std;
int d1,d2;
int main(){
int n,y,r,sum=0;
int q[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
cin>>d1>>d2;
for(int i=d1;i<=d2;i++){
n=i/10000;
y=i/100%100;
r=i%100;
if(y>12||y<1){
continue;
}
if(n%4==0&&n%100!=0||n%400==0){
q[2]=29;
}
else{
q[2]=28;
}
if(r>=1&&r<=q[y]){
if(r%10*1000+r/10*100+y%10*10+y/10==n){
sum++;
}
}
}
cout<<sum;
return 0;
}
楼层编号
#include<iostream>
using namespace std;
bool aaa(int n,int t){
while(n!=0){
if(n%10==t){
return 0;
}
n=n/10;
}
return 1;
}
int main(){
int m,t;
int sum;
cin>>m>>t;
sum=m;
for(int i=1;i<=m;i++){
if(aaa(i,t)==0){
sum--;
}
}
cout<<sum;
return 0;
}
火柴棒等式
#include<iostream>
using namespace std;
int n,sum,m;
int s[10]={6,2,5,5,4,5,6,3,7,6};
int fun(int x){
int cnt=0;
if(x==0){
cnt=s[0];
return cnt;
}
else{
while(x){
cnt+=s[x%10];
x=x/10;
}
return cnt;
}
}
int main(){
cin>>n;
m=n-4;
for(int i=0;i<=1111;i++){
for(int j=i;j<=1111;j++){
if(m==fun(i)+fun(j)+fun(i+j)){
if(i==j){
sum+=1;
}
else{
sum+=2;
}
}
}
}
cout<<sum;
return 0;
}
阿姆斯特朗数
#include<iostream>
using namespace std;
int main(){
int p[10][9];
for(int i=0;i<=9;i++){
p[i][1]=i;
}
for(int i=0;i<=9;i++){
for(int j=2;j<=7;j++){
p[i][j]=p[i][j-1]*i;
}
}
for(int i=100;i<=9999999;i++){
int n=i,t=i,cnt=0,sum=0;
while(n!=0){
n=n/10;
cnt++;
}
while(t!=0){
sum+=p[t%10][cnt];
t=t/10;
}
if(sum==i){
cout<<i<<endl;
}
}
return 0;
}