码迷,mamicode.com
首页 > 编程语言 > 详细

算法竞赛入门经典中的基础数学题

时间:2015-05-15 21:21:50      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

uva575:这道题目没什么好说的

技术分享
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<algorithm>
 6 #include<string>
 7 #include<cctype>
 8 #include<vector>
 9 #include<map>
10 using namespace std;
11 const int maxn=40;
12 string s;
13 int a[maxn];
14 int main()
15 {
16     long long sum;
17     while(cin>>s)
18     {
19         if(s[0]==0)
20         break;
21         sum=0;
22         memset(a,0,sizeof(a));
23         for(int i=0;i<s.length();i++)
24             a[s.length()-i-1]=s[i]-0;
25         for(int i=0;i<s.length();i++)
26         sum+=a[i]*(pow(2,i+1)-1);
27         cout<<sum<<endl;
28     }
29     return 0;
30 }
View Code


uva10110:

这道题目考虑最后一个数的因子,如果是偶数则是关闭的,奇数则是开着的,显然一般数都是偶数,只有一种情况,是全部平方数的时候才是奇数,于是判断

sqrt(n)*sqrt(n)是否等于n即可

技术分享
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 using namespace std;
 6 long long  n;
 7 void judge()
 8 {
 9     long long  b=sqrt(n);
10     if(b*b==n)
11         cout<<"yes"<<endl;
12     else
13         cout<<"no"<<endl;
14 }
15 int main()
16 {
17     while(cin>>n)
18     {
19         if(n==0)
20             break;
21         judge();
22     }
23     return 0;
24 }
View Code

 

算法竞赛入门经典中的基础数学题

标签:

原文地址:http://www.cnblogs.com/wolf940509/p/4506765.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!