Sicily: 1014. Specialized Four-Dig
2017-02-25 22:11
393 查看
Sicily: 1014. Specialized Four-Dig
找出10进制、12进制和16进制下所有位上的数字加起来都相等的四位数字。(有点小绕)那么很明显,最简单的就是从第一个合适的数字2992开始一直算到9999,一个个判断。
代码
#include <iostream> using namespace std; int sumofnotation(int a,int b) { int ans=0; while(a!=0) { ans+=a%b; a=a/b; } return ans; } int main() { for(int i=2992;i<=9999;i++) { int a=sumofnotation(i,10); int b=sumofnotation(i,12); int c=sumofnotation(i,16); if(a==b&&a==c) cout<<i<<endl; } return 0; }
这是最快想到的也是最笨的方法,有没有其他方法呢?遇到类似的题目,一般第二个会想到的就是能不能只算出符合要求的数字,而其他不符合要求的数字根本不需要计算呢?
代码
#include<iostream> using namespace std; int main() { cout<<2992<<endl<<2993<<endl<<2994<<endl<<2995<<endl<<2996<<endl<<2997<<endl<<2998<<endl<<2999<<endl<<4470<<endl<<4471<<endl<<4472<<endl<<4473<<endl<<4474<<endl<<4475<<endl<<4970<<endl<<4971<<endl<<4972<<endl<<4973<<endl<<4974<<endl<<4975<<endl<<5460<<endl<<5461<<endl<<5462<<endl<<5463<<endl<<5464<<endl<<5465<<endl<<5466<<endl<<5467<<endl<<5468<<endl<<5469<<endl<<5960<<endl<<5961<<endl<<5962<<endl<<5963<<endl<<6456<<endl<<6457<<endl<<6458<<endl<<6459<<endl<<7440<<endl<<7441<<endl<<7442<<endl<<7443<<endl<<7444<<endl<<7445<<endl<<7446<<endl<<7447<<endl<<7448<<endl<<7449<<endl<<7940<<endl<<7941<<endl<<7942<<endl<<7943<<endl<<8436<<endl<<8437<<endl<<8438<<endl<<8439<<endl<<9424<<endl<<9425<<endl<<9426<<endl<<9427<<endl<<9428<<endl<<9429<<endl<<9924<<endl<<9925<<endl<<9926<<endl<<9927<<endl<<9928<<endl<<9929<<endl; return 0; }
答案是没有规律……哈哈哈,网上有人蛋疼把所有的答案都打上去了,时间复杂度是O(1)。无敌。
相关文章推荐
- Sicily.1014. Specialized Four-Dig
- sicily 1014 Specialized Four-Dig
- Sicily 1014. Specialized Four-Dig
- Sicily 1014. Specialized Four-Dig
- sicily 1014. Specialized Four-Dig
- [sicily online]1014. Specialized Four-Dig
- sicily--1014. Specialized Four-Dig
- sicily 1014. Specialized Four-Dig
- sicily 1014. Specialized Four-Dig
- sicily可供练习题-1014. Specialized Four-Dig
- sicily 1014. Specialized Four-Dig
- sicily 1014 Specialized Four-Dig
- sicily 1014. Specialized Four-Dig
- 1014 Specialized Four-Dig
- 1014. Specialized Four-Dig
- 1014. Specialized Four-Dig
- soj - 1014 - Specialized Four-Dig
- 1014. Specialized Four-Dig
- 1014[Specialized Four-Dig]
- 1014. Specialized Four-Dig