13 条题解

  • 1
    @ 2025-7-8 16:52:27

    实际上就是一道比较简单的一道题 也是一道初学者学习C++的经典例题

    想要代码的先看这里

    #include <bits/stdc++.h>
    using namespace std;
    int a,b,c,n;
    int main()
    {
    	cin >> n;
    	int m = n;
    	c = n % 10;
    	n /= 10;
    	b = n % 10;
    	n /= 10;
    	a = n;
    	if(a*a*a+b*b*b+c*c*c==m)
    	{
    		cout << "YES";
    	}
    	else
    	{
    		cout << "NO";
    	}
    	return 0;
    }
    

    不过我还是不建议你这样做,毕竟复制粘贴谁都会是吧

    你可以看看这个注释版,理解一下这个代码

    #include <bits/stdc++.h> 
    //万能头文件,如果你是初学者的话直接抄很容易被老师发现 
    //建议改成  #include <iostream> 
    using namespace std;//命名空间 
    int a,b,c,n;//题目的输入是一个三位数,我们分别用a,b,c储存这个数的个十百位数
    //n则用来储存输入的数 
    int main()
    {
    	cin >> n;//首先,我们要先输入这个数 
    	int m=n;//因为这个n要用来运算,为了后面的比较,我们要先储存n 
    	c = n%10;//c是n的个位数,这个“%”是取余,所以这里的c就是n除以10的余数 
    	n /= 10;//意思是n变成n除以10的商 
    	b = n%10;//同上 
    	n /= 10; 
    	a = n;//最后a=n; 
    	if(a*a*a+b*b*b+c*c*c==m)//判断水仙花数(根据题意) 
    	{
    		cout << "YES";//是的话输出YES 
    	}
    	else
    	{
    		cout << "NO";//不是就输出NO 
    	}
    	return 0;
    }
    
    

    注意!! 1、输出的字母全是大写,不然0分! 2、不要把%和/弄混了! 3、是三次方,要乘3次!

    好了,就这样

    信息

    ID
    884
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    1035
    已通过
    453
    上传者