编写函数求区间【200,3000】中所有的回文数,回文数是正读和反读都是一样的数
,如525。
#include(studio.h)
void solve(){}
#include <stdio.h>
int solve()
{
int double_word_count = 0;
for (int i = 200; i <= 3000; i++)
{
//个位数和百位数相同(200-999)
if (i <= 999 )
{
if (i % 10 == i / 100)
{
printf("%d,", i);
double_word_count++;
}
}
else
{
if (i % 10 == i / 1000 && i / 10 % 10 == i / 100 % 10)
{
printf("%d,", i);
double_word_count++;
}
}
//个位数和千位数相同,且十位数和百位数相同
}
return double_word_count;
}
int main()
{
printf("200-3000的回文数有%d个\n", solve());
system("pause");
}
#include <iostream>
using namespace std;
int main() {
int x = 200;
int y = 3000;
for (int i = x; i <= 999; i++) {
int a = i / 100;
int b = i % 10;
if (a == b) {
cout << i << ' ';
}
}
for (int i = 1000; i <= y; i++) {
int a = i / 1000;
int b = i / 100 % 10;
int c = i / 10 % 10;
int d = i % 10;
if (a == d && b == c) {
cout << i << ' ';
}
}
return 0;
}
是要直接输出,还是输出yes no
yes no
#include<bits/stdc++.h>
using namespace std;
int main(){
for(int i=200;i<=300;i++){
int y=0;
int a1=i;
while(a1){
y=y*10+a1%10;
a1/=10;
}
if(i==y){
cout<<"yes"<<endl;
}
else{
cout<<"no"<<endl;
}
}
return 0;
}
直接输出
#include<bits/stdc++.h>
using namespace std;
int main(){
for(int i=200;i<=300;i++){
int y=0;
int a1=i;
while(a1){
y=y*10+a1%10;
a1/=10;
}
if(i==y){
cout<<i<<endl;
}
else{
continue;
}
}
return 0;
}
供参考:
#include<stdio.h>
void solve(int n,int m)
{
int i,k,t,cnt=0;
for(i=n;i<=m;i++)
{
k=i;t=0;
while(k){
t = t*10 + k%10;
k /= 10;
}
if(t == i){
printf("%c%4d",cnt==0?'\r':cnt%5==0?'\n':' ',i); //每5个数一行
cnt++;
}
}
printf("\ncount=%d\n",cnt);
}
int main()
{
solve(200,3000);
return 0;
}