Java教程

蓝桥杯2016年第七届JavaC组国赛第一题-平方末尾

本文主要是介绍蓝桥杯2016年第七届JavaC组国赛第一题-平方末尾,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在这里插入图片描述

Idea

理解清楚题目,举几个简单的例子就可以知道怎么样解决了,比如长度为3的平方数125 * 125,平方末尾的数字只与25 * 25的结果的后面两位数字是相关的,与其他位上的数字是无关的,例如101 * 101平方末尾的两个数字只与01 * 01相乘的结果是有关的,所以我们只需要计算[4,99]的平方数字的末尾两位数字,加入到set集合中去重即可,最后set集合的长度就是最终平方末尾两位数字的所有可能。

Code

#include<iostream>
#include<unordered_set>
using namespace std;
typedef long long LL;

int main()
{
	unordered_set<int> map;
	for(int i = 4 ; i < 100 ; i++){
		int cur = i*i%100;
		map.insert(cur);
	}
	cout<<map.size();
	return 0;
}

Answer

22
这篇关于蓝桥杯2016年第七届JavaC组国赛第一题-平方末尾的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!