欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

计算水仙花数运算超时问题

程序员文章站 2022-04-01 10:30:54
计算水仙花数运算超时问题计算三次方时如果调用cmath头文件就会出现运算超时;而如果自己定义一个函数的话就不会出现这个问题。#includeusing namespace std;/*这道题非常奇怪百度后发现如果用头文件就会出现运算超时而自己定义函数则不会自己定义函数时显示的运算时间为600ms原因尚不清楚*///定义一个函数int M(int j,int k){ int t=j; for(int l=1;l...

计算水仙花数运算超时问题

计算三次方时如果调用cmath头文件就会出现运算超时;
而如果自己定义一个函数的话就不会出现这个问题。

#include<iostream>
using namespace std;
/*这道题非常奇怪
百度后发现如果用头文件<cmath>就会出现运算超时
而自己定义函数则不会
自己定义函数时显示的运算时间为600ms
原因尚不清楚*/

//定义一个函数
int M(int j,int k)
{
    int t=j;
    for(int l=1;l<k;l++)
    {
        j*=t;
    }
    return j;
}
int main()
{
    int n,x,b;
    cin>>n;
    for(x=M(10,n-1);x<M(10,n);x++)
    {
        b=x;
        int sum=0,a=0,i;
        for(i=1;i<=n;i++)
        {
            a=b%10;
            b/=10;
            sum+=M(a,n);
        }
        if(sum==x)
        {
            cout<<x<<endl;
        }
    }
    return 0;
}

以后有机会一定要搞清楚调用头文件和自己定义函数的区别。

本文地址:https://blog.csdn.net/zFiiisher/article/details/110153599

相关标签: c++ 算法