鱼C论坛

 找回密码
 立即注册
查看: 2080|回复: 6

判断自守数

[复制链接]
发表于 2020-3-4 15:32:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入任意一个数,判断它是否为自守数。
如果一个自然数的平方数的尾部任然为该自然数本身,则称其为自守数。例如:
5 * 5 = 25
76 * 76 = 5776
625 * 625 = 390625
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-4 15:39:29 | 显示全部楼层
把整个程序的数值定义成字符型,输入一个数后获取长度,计算平方,用分片判断尾部是否是该数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 15:49:25 | 显示全部楼层
def test(n):
    result = n * n
    n, result = str(n), str(result)
    if result[len(n):] == str(n):
        return True
    return False

print(test(5))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 16:39:40 | 显示全部楼层
自己写的代码,还是不够精炼,当然,你也得考虑到int的取值范围,超范围可能就不对了
#include "stdafx.h"
#include <string.h>
#include "math.h"
#include<iostream>
using namespace std;


int isnum(int num){
        int j,i,len1,len2,ret;
        j=num*num;
        char *str1,*str2;
        i=ret=0;
        str1=(char*)malloc(256*sizeof(char));
        str2=(char*)malloc(256*sizeof(char));
        itoa(num, str1, 10);
        itoa(j, str2, 10);
        len1=strlen(str1);
        len2=strlen(str2);
        printf("%2d %2d %2d %2s %2s\n",j,len1,len2,str1,str2);
        while((str1+len1-i) !=str1)
        {
                i++;
                printf("%c %c\n",*(str1+len1-i),*(str2+len2-i));
                if(*(str1+len1-i)!=*(str2+len2-i))
                {
                        ret=0;
                        break;
                }
                
                
                ret=1;
         }
        

        return ret;

}

void test(){

        int a;
        a=isnum(13);
        printf("%d",a);//1是 0不是

        
}



int main()
{
                test();
        system("pause"); 
        //getchar();
        return 0; 
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-21 02:56:20 From FishC Mobile | 显示全部楼层
对任意一个整数进行求余,只要余数是1,5,6,那么就是自守数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-21 02:56:57 From FishC Mobile | 显示全部楼层
任意一个数n
n%10即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-21 02:57:50 From FishC Mobile | 显示全部楼层
emm,0也算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 12:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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