UVa Problem 10110 Light, More Light (开灯与关灯)

本文介绍了一个简单而有趣的算法问题——通过判断一个整数是否为完全平方数来决定灯的开关状态。对于大于1的非平方数,其因子总是成对出现;若为平方数,则因子总数为奇数,意味着经过奇数次开关操作后灯处于开启状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// Light, More Light (开灯与关灯) // PC/UVa IDs: 110701/10110, Popularity: A, Success rate: average Level: 1 // Verdict: Accepted // Submission Date: 2011-06-10 // UVa Run Time: 0.304s // // 版权所有(C)2011,邱秋。metaphysis # yeah dot net // // 对于大于 1 的非平方数来说,它的因子总是成对出现的,这个是解题关键。对于 n >= 1,如果 n 为平 // 方数,它的因子总数是奇数,否则是偶数,对应题目则是奇数次开关灯后灯是亮的,偶数次是灭的,判断数 // n 是否是平方数即可。 #include <iostream> #include <cmath> using namespace std; int main(int ac, char *av[]) { unsigned int n; while (cin >> n, n) { int t = sqrt(n); cout << ((t * t == n) ? "yes" : "no") << endl; } return 0; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值