本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
{1}{1} + \frac{1}{2} + \frac{1}{4} + \frac{1}{8}+\cdots
每项是前一项的一半,如果一共有 2020 项,求这个和是多少,结果用分数表示出来。
即1/1+1/2+1/4+1/8+1/16…共20项
输入描述
无
输出描述
输出格式为 分子/分母。
#include<bits/stdc++.h>
using namespace std;
int main(){
int a = (1 << 20) - 1; //分子
int b = (1 << 19); //分母
int t = __gcd(a, b); //除去公约数
cout << a/t << "/" << b/t;
return 0;
}
解释:
1<<20
把1向前移20位 每移一位都是乘以2的一次方 意思为2的20次方 写法(1<<20)
1>>20
__gcd:
取ab的最大公约数
sqrt(x)
平方根函数
平方和问题
依次检查数中每个位有没有2 0 1 9时
注意::
#include<bits/stdc++.h>
using namespace std;
bool check(int n){
while(n){
if(n%10==1||n%10==2||n%10==9||n%10==0)//看最后一位有没有2 0 1 9
return true;
n/=10; 看最后一位之前的一位,以此看之前的一位
}
return false;
}
int main(){
long long sum=0;
for(int i=1;i<=2019;i++)
if(check(i))
sum+=i*i;
cout<<sum;
}