竞赛
考级
————###禁止白嫖###———— ————L(' v' )/ +U!—————— ———————————————— ———————————————— ————###题解如下###————— #include<bits/stdc++.h> using namespace std; int main(){ int a,b,c,d; cin>>a; b=a/100; c=a/10%10; d=a%10; if(pow(b,3)+pow(c,3)+pow(d,3)==a){ cout<<"YES"; } else{ cout<<"NO";
本题是求水仙花数,所以我们要先把这个3位拆开。 第一位:数字除以100。 第二位:数字除以10,然后取余10。 第三位:余10。 首先输入数字, a = int(input()) 再诸位分位 b = a // 100 c = a // 10 % 10 d = a % 10 然后判断是否是水仙花。 a == b ** 3 + c ** 3 + d ** 3 然后后后面自己写(((
a \Lleftarrow b
有大佬救救我吗~
666
有点难
很简单
水仙花数,就是一个几位数,它每一位上的数字各自乘自己那么多次,全部加起来,结果刚好等于它本身。 举例子理解: 1. 三位数的水仙花数,最常见。 三位数一共有个位、十位、百位这三个数字。 把这三个数字,每个数字都自己乘自己三次,把得数全部加在一起,算出来的总和等于原来这个三位数,那这个数就是三位数水仙花数。 比如 153:是三位数。1 乘三次,5 乘三次,3 乘三次,加起来正好等于 153,所以 153 是水仙花数。 2. 补充重点规则: * 是几位数,每一位数字就要乘自己几次。 四位数的水仙花数,每一位数字都要自己乘四次;两位数没有水仙花数。 * 水仙花数只看正整数,负数不算。 * 单独的一位数,全部都是水仙花数。比如数字 5,就一位,5 乘一次等于 5,所以是水仙花数。 简单一句话总结: 把数字拆开成每一位,每一位乘自己 “位数那么多回”,全部相加,等于原来的数字,它就是水仙花数。 常见小例子: 三位数水仙花数:153,370,371,407 #include <iostream> using namespace std; int main() { int n; cin >> n; int a = n / 100; // 百位 int b = n / 10 % 10; // 十位 int c = n % 10; // 个位 int sum = aaa + bbb + ccc; if(sum == n) cout << "YES" << endl; else cout << "NO" << endl; return 0; } 所以总之来说,题目并不简单。
提交答案之后,这里将显示提交结果~