C语言查找同构数:1~999之间

本文将介绍如何使用C语言编写程序,查找并打印1到999之间的所有同构数。同构数是指一个数出现在其平方数的右侧,例如25的平方是625,25出现在625的右侧,所以25就是一个同构数。

以下是完整的C语言代码:

#include <stdio.h>

int main() {
    printf('Print all the isomorphism between 1-999:\n');
    
    for (int i = 1; i <= 999; i++) {
        int square = i * i;
        int temp = i;
        int found = 0;

        // 检查i是否出现在其平方数的右侧
        while (square != 0) {
            if (square % 10 == temp % 10) {
                found = 1;
                break;
            }
            square /= 10;
        }
        
        if (found) {
            printf('%d ', i);
        }
    }
    
    return 0;
}

代码解释:

  1. for循环遍历1到999之间的所有整数。
  2. 对于每个整数i,计算其平方值square
  3. 使用while循环和取模运算符%,依次比较squarei的个位数字,判断i是否出现在square的右侧。
  4. 如果i出现在square的右侧,则设置found标志为1,并跳出循环。
  5. 如果found标志为1,则打印i,表示它是一个同构数。

运行以上代码,将会打印出1到999之间的所有同构数。

C语言查找同构数:1~999之间

原文地址: https://www.cveoy.top/t/topic/Qce 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录