用C++编写函数求区间[200,3000]中所有的回文数,回文数是正读和反读都是一样的数
时间: 2024-05-21 07:11:16 浏览: 94
#include<stdio.h>
void palindrome(){
int i;
for(i=200;i<=3000;i++){
int n=i,sum=0;//n为当前数字,sum为反转后的数字
while(n!=0){
sum=sum*10+n%10;
n/=10;
}
if(sum==i)//判断反转后的数字是否与当前数字相等
printf("%d ",i);
}
}
int main(){
palindrome();
return 0;
}
相关问题
用C++编写函数求区间[200,3000]中所有的回文数,回文数是正读和反读都是一样的数,结果要换行
#include <stdio.h>
void find_palindrome_numbers() {
int i, j, k;
for (i = 2; i <= 9; i++) {
printf("%d\n", i);
}
for (i = 1; i <= 9; i++) {
for (j = 0; j <= 9; j++) {
printf("%d%d\n", i, j);
}
}
for (i = 1; i <= 9; i++) {
for (j = 0; j <= 9; j++) {
printf("%d%d%d\n", i, j, i);
}
}
for (i = 1; i <= 9; i++) {
for (j = 0; j <= 9; j++) {
for (k = 0; k <= 9; k++) {
printf("%d%d%d%d\n", i, j, k, i);
}
}
}
}
int main() {
find_palindrome_numbers();
return 0;
}
编写函数求区间[200,3000]中所有的回文数,回文数是正读和反读都是一样的数。C++
语言实现如下:
#include <stdio.h>
int is_palindrome(int num) { // 判断一个数是否是回文数
int temp = num, reverse = 0;
while (temp) {
reverse = reverse * 10 + temp % 10;
temp /= 10;
}
return num == reverse;
}
void find_palindrome() { // 查找回文数
for (int i = 200; i <= 3000; i++) {
if (is_palindrome(i)) {
printf("%d ", i);
}
}
}
int main() {
find_palindrome();
return 0;
}
阅读全文