C++ 编程作业 求 200000 以内的自守数

6.题目:求 200000 以内的自守数。要求编写函数 selfhold,判断一个数是否是一个自守数,若是,则返回 1,否则返回 0。
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25 * 25=625 76 * 76=5776 9376 * 9376=87909376。
测试举例
输出样例: 0 1 5 ...
#include <iostream>
using namespace std;

int selfhold(long number);
int main()
{
        long number;
        for(number=0;number<200000;number++)
        {
                if(selfhold(number)==1)
                {
                        cout<<number<<endl;
                }
        }
        return 0;
}
int selfhold(long number) /*判断数number是否是一个自守数*/
{
/**********Program**********/                
    long long int a=number*number;
        if(0<=number<10)
        {
            if(number==a%10)
                return 1;
        }    
        
            
        if(10<=number<100)
        {
            if(number==a%100)
                return 1;
        }
        
        
        if(100<=number<1000)
        {
            if(number==a%1000)
                return 1;
        }    
        
        if(1000<=number<10000)
        {
            if(number==a%10000)
                return 1;
        }    
        
        if(10000<=number<100000)
        {
            if(number==a%10000)
                return 1;
            
        }
        
        if(100000<=number<100000)
        {
            if(number==a%100000)
                return 1;
            
            
        }
        
        if(100000<=number<2000000)
        {
            if(number==a%1000000)
                return 1;
            
            
        }
        
        return 0;
/**********Program**********/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值