c#写一个从控制台输入三位数,在程序中分解这三位数,判断输入的三位数是否是水仙花数,并输出结果
答案:1 悬赏:60 手机版
解决时间 2021-01-14 16:50
- 提问者网友:王者佥
- 2021-01-14 08:32
c#写一个从控制台输入三位数,在程序中分解这三位数,判断输入的三位数是否是水仙花数,并输出结果
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-01-14 10:00
public class TestFoo {
///
/// 返回是否是水仙数,话说水仙数是个啥有个鸟用。
///
/// 传入的要做判断的对象
///
public bool IsFit(object data) {
if (data == null)
throw new ArgumentNullException();
int input = 0;
if (!int.TryParse(data.ToString(), out input))
throw new ArgumentException("传入的方法参数无法转换为int");
if (input<100)
throw new ArgumentException("传入的方法参数必须是3位数及以上的正整数");
string strint = input.ToString();
byte[] eachbit = new byte[strint.Length];
int computedsum = 0;
for (int cbit = 0; cbit < strint.Length; cbit++)
{
eachbit[cbit] = byte.Parse(strint.Substring(cbit,1));
computedsum += (int)Math.Pow(eachbit[cbit], strint.Length);
}
return input == computedsum;
}
}
///
/// 返回是否是水仙数,话说水仙数是个啥有个鸟用。
///
/// 传入的要做判断的对象
///
public bool IsFit(object data) {
if (data == null)
throw new ArgumentNullException();
int input = 0;
if (!int.TryParse(data.ToString(), out input))
throw new ArgumentException("传入的方法参数无法转换为int");
if (input<100)
throw new ArgumentException("传入的方法参数必须是3位数及以上的正整数");
string strint = input.ToString();
byte[] eachbit = new byte[strint.Length];
int computedsum = 0;
for (int cbit = 0; cbit < strint.Length; cbit++)
{
eachbit[cbit] = byte.Parse(strint.Substring(cbit,1));
computedsum += (int)Math.Pow(eachbit[cbit], strint.Length);
}
return input == computedsum;
}
}
已测试。
提示:
你原封不动交作业的话 肯定不及格,一看就不是你写的。学习这种事儿 建议自己动脑。不要做伸手党,不然学费白交不说,浪费自己的时间。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯