pytorch-常见的损失函数

基于微信小程序的个人管理软件

  返回  

Mod, Or and Everything

2021/7/20 20:06:06 浏览:

Problem Description

You are given an integer n.

You are required to calculate (n mod 1) or (n mod 2) or ... or (n mod (n - 1)) or (n mod n).

The "or" operation means "bitwise OR".

Input

The first line contains an integer T(1≤T≤5000)representing the number of test cases.

For each test case, there is an integer n(1≤n≤1012)in one line.

Output

For each test case, print the answer in one line.

Sample Input

5 1 2 3 4 5

Sample Output

0 0 1 1 3

一开始硬坐

发现n到了12次方

硬坐肯定超时

后来找规律

发现log2(n)的话减一就是答案

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        long long n;
        cin>>n;
        if(n==1)
        cout<<0<<endl;
        else
        {
            int k=log(n)/log(2);
            long long sum=pow(2,k);
            if(sum!=n)
            cout<<sum-1<<endl;
            else 
            cout<<sum/2-1<<endl;
        }
    }
}

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号