C++实验三

问题一

#include<iostream>
using namespace std;
bool symm(long n);
int main()
{
    int n;
    cin >> n;
    for (int i = 1;i <= n;i++)
    {
        if (symm(i) && symm(7 * i) && symm(3 * i * i))
            cout << i << ' ';
    }
    return 0;
}
bool symm(long n)
{
    long m = 0,i=n;
    while (i)
    {
        m = m * 10 + i % 10;
        i = i / 10;
    }
    if (m == n)
        return true;
    else
        return false;
}//判断回文数

这道题的重点就在怎样判断回文数,判断回文数就要用到倒序,倒序就直接乘10加余数就好了。

倒序:

int reverse(int x)//x是被反转的数
{
    int m = 0;
    while (x)
    {
        m = m * 10 + x % 10;
        x = x / 10;
    }
    return m;//m是倒序后的数
}
原文地址:https://www.cnblogs.com/dk2154/p/14129004.html