1091 N-自守数

如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”。例如 3×92​2​​=25392,而 25392 的末尾两位正好是 92,所以 92 是一个 3-自守数。

本题就请你编写程序判断一个给定的数字是否关于某个 N 是 N-自守数。

输入格式:

输入在第一行中给出正整数 M(≤20),随后一行给出 M 个待检测的、不超过 1000 的正整数。

输出格式:

对每个需要检测的数字,如果它是 N-自守数就在一行中输出最小的 N 和 NK​2​​ 的值,以一个空格隔开;否则输出 No。注意题目保证 N<10。

输入样例:

3
92 5 233

输出样例:

3 25392
1 25
No

分析:

        判断可以使用字符串,如果对于字符串的API不熟练,可能会浪费很多时间。这里只用计算来判断,我们可以发现其规律,举例来说如果结果是1123,原数为123,怎么判断结果的末几位与原数相同?可以相减,1123 - 123 = 1000,即1000 % 1000 = 0.这样看来,判断也不是一件难事啦~

#include<iostream>

using namespace std;

int main(){
	int M, N;
	cin >> M;
	for(int i = 0; i < M; i++){
		cin >> N;
		int flag = 1, k, result, tmp_n, tmp_r;
		for(k = 1; k < 10; k++){
			flag = 1;
			result = k * N * N;
			tmp_n = N;
			tmp_r = result - N;
			while(tmp_n > 0){
				if(tmp_r % 10 != 0){
					flag = 0;
					break;
				}
				tmp_r /= 10;
				tmp_n /= 10;
			}
			if(flag) break;
		}
		if(flag) cout << k << " " << result << endl;
		else cout << "No" << endl;
	}
	return 0;
}

 

 

杂记:

       这是第一百篇博客了,大部分都是一些比较水的问题,没办法,我也只能够从基础刷起。因为某些原因,我的很多时间浪费在一些无关紧要的事情上了。之前学习Unity是出于兴趣,而现在学习算法、数据结构还是为了个人前途着想吧(当然,我也并不对此厌烦)。我们为什么而学习?我们又该如学习?这其实是很值得思考的两件事情,只可惜我大多时间被手机电脑所绑架,学习时间也潦草地贡献给了“补习”,遑论去思考这种有深度的问题了。

       我承认,很长一段时间以来,我都静不下心来。究其原因,是我太焦虑了,看到与同学的差距,我渐渐丢失了自己的目标。我明白,基础不同,我的实力自然无法与他们抗衡,但是天生就好强的我每每也因此而受到打击。横向比较总是这样让我一次次失望,有时候我也想好好地纵向比较就好了,但社会不允许啊。所以我只能一边跌倒,一边成长。

       另一点,在横向比较的过程中,我对个别人逐渐厌烦,因为我实在讨厌虚伪的面孔和功利化的行为,却又避之不及。我时常在想,究竟是我太自负了,还是太小肚鸡肠了,后来忍不住去跟舍友吐槽,却发现舍友实际上早已是满满的嫌弃了。后来我了解了,很多人并不是像看起来那样大度,满不在乎,只不过他们因为某些原因不好意思说罢了。而我从小就喜欢表达自己的“不喜欢”,对很多我不满意的事情都要“指点江山”一番,这也能看得出来,我的忍耐力确实差别人太多。

       打击,嫌弃,无聊,埋怨,哀叹占据了我的生活,懒惰也就随之而来。虽然我从小在家都没有好好利用自己的时间,但是在学校的学习过程中我一直很自律。而现在呢,毫无节制,放任自流。我已不再像以前盲目乐观了,常常被阴郁的情绪所笼罩,且十分黑暗。之前我固执地认为,我早已被拉入了深渊,只能被腐化而无处可逃。不过后来我明白了,大约每个人的人性都是黑暗的,人的身后就是万丈深渊,我们依赖的就是仅有的点点“神性”,来拯救灵魂。所以,不要向后看。除此之外,我常常想要与这种堕落的生活做抗争,却屡屡失败,如现在一般遍体鳞伤。

       有的时候真的是心有余而力不足,天知道我曾经经历了怎样曲折的事情,又付出过怎样的努力。我常常想,如果过去的事情哪怕有一点不一样,我的生活就可能与现在大不相同。可是生活从来都没有如果,我是个被命运也被自己愚弄过的人。有时候听到某些人自信到夸张的言语,我只感觉好笑。未曾在黑夜里匍匐前行,又怎知黎明难能可贵?

       在失意与后悔中浑浑噩噩的我,前一段时间看到了同学做的网站。他谈到为什么要学习,诚然每个人都有不同的答案,而他的回答是——摆脱世俗。看到这个答案我震惊了好久,仿佛看到了当年那个桀骜不驯,意气风发的男孩,他做什么事情都非常努力,力争优秀,证明自己的独一无二。他就是曾经的我啊——这就是成熟的代价吧,或者说是我所经历的后果吧。我并不容易被自我感动到流泪,只是深感怅然若失,也确实是失掉了自己。

       后来,我对生活有了更深一点的理解。人生本来就是由枯燥的片段编织而成。而一个人真正活着的时候也仅仅不过是一瞬间,或者几个时刻。我也由衷体会到艺术的伟大,它的绽放如同人生的升华。艺术很多时候都是追求我们现实中并不存在的东西,人性本恶,所以我们追求人性本善;社会冷漠,刻薄,所以我们赞美热情,真诚;丑恶交叠,所以我们刻画美好。我们追求自身所没有的东西,并不是毫无意义的,它是一种指引,是一座灯塔,指引着我们在冷风凄雨中孤独地航行,让我们保持着人类的尊严。如果我们能够“接近”他们,生命就算是到了“尽头”,我们也真正的活过了。而在靠近他们的过程中,就要历经这些艰难险阻和枯燥无味的生活。

       如果可以,我愿做一只飞蛾,哪怕拼上性命,也要去拥抱那转瞬即逝的光明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值