IE盒子

搜索
查看: 121|回复: 1

C语言同构数(自定义函数)

[复制链接]

4

主题

10

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2023-3-3 05:07:14 | 显示全部楼层 |阅读模式
正整数n若是它平方数的尾部,则称n为同构数。
例如:5的平方数是25,且5出现在25的右侧,那么5就是一个同构数。
本程序只能判断100以下的同构数,若需判断更大的数则需自行完善。
//头文件
#include <stdio.h>
#include <stdlib.h>
//定义同构数判断函数
int tgs(int number)
{
    //声明两个中间变量
    int product, remainder;
    //如果输入的值小于10则除10取余判断是否相等
    if (number < 10)
    {
        product = number * number;
        remainder = product % 10;
        //如果是同构数返回1,否则返回0
        if (number == remainder)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
    //如果输入的值小于100则除100取余判断是否相等
    if (number < 100)
    {
        product = number * number;
        remainder = product % 100;
        //如果是同构数返回1,否则返回0
        if (number == remainder)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
}
//主函数
int main()
{
    //声明接收用户输入的数据类型
    int number;
    printf("请输入需要判断的数:");
    scanf("%d", &number);
    //tgs(number)调用自定义函数
    //打印判断返回值
    printf("%d\n", tgs(number));
    //程序暂停
    system("pause");
    //程序正常退出
    return 0;
}
回复

使用道具 举报

2

主题

10

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2023-3-3 05:08:13 | 显示全部楼层
int Tong(int a)
{
    int i=0,s,b=a;
    //判断a的位数
    while (b!=0) {
        b=b/10;
        i++;
    }
    s=(a*a)%(int)pow(10, i);
    if (s==a) {
        return 1;
    }
    return 0;
}
//这样应该就适用所有情况
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表