大一C语言课,7进制9进制的三位数,求解

大一学生c语言课
不明白10进制和9进制和7进制的关系,求解
怎么写程序才能判断他是7或者9进制的三位数啊

img

参考地址:

一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码顺序正好相反,求这个三位数。_RViewSonic的博客-CSDN博客 这又是一个数字问题的代码化,首先解释里面的几个概念并用数学的方法将这个三位数推导出来.数码:数的基本单元,也就是数字.例如123和321二者分别含有三个数码,且数码顺序相反。进制:可看作是特殊进制转换为默认进制(10进制)时的底数。数学推导:由上述数学推导过程可知,函数体内的判断条件即是七进制和九进制化为十进制时二者相等,而这需要在所有符合七进制(七和九取并集)的三位数内进行筛选,而七进制遇七进一的特点就是突破口. for(i=1;i<7;i++) for(j=0;j<7;j++) https://blog.csdn.net/RViewSonic/article/details/107127807

#include<stdio.h>
int main()
{
    int i,j,k;
    for(i=1;i<7;i++)
    for(j=0;j<7;j++)
    for(k=1;k<7;k++)
    if(i+j*7+k*7*7==i*9*9+j*9+k)
    {
        printf("%d\n",i*9*9+j*9+k);
    }
 } 

img

不用你判断,是让你把某个10进制转换成7进制和9进制啊。然后这两个数正好数字反序

七进制三位数 每一位不能超过6,所以最大的七进制三位数就是666,换算成10位数就是67^2+67+6=342,最小三位数就是100,10进制的就是49嘛
同样9进制,最大三位数是888,换算成10进制就是 89^2+89+8=809,最小三位数是100,10进制就是81嘛

你就可以靠遍历来整嘛,这么写能理解不?
for(n=9^2;n<7^3;n++)
{
7_baiwei=n/49;
7_shiwei=(n-7_baiwei49)/7
7_gewei=(n-7_baiwei
49-7_gewei*7)
然后9的,然后比较
}


#include<stdio.h>

void main()
{
    int i;
    for (i = 9*9; i < 7*7*7; i++)
    {
        int m = i % 7;
        int n = i / (9 * 9);
        if (m != n)
            continue;

        m = i % (7 * 7) / 7;
        n = i % (9 * 9) / 9;
        if (m != n)
            continue;

        m = i / (7 * 7);
        n = i % 9;
        if (m == n)
            printf("number = %d \n", i);
    }
}