CodeForces
来源:互联网 发布:js金融格式输出 编辑:程序博客网 时间:2024/06/07 02:09
Description
Recently Luba learned about a special kind of numbers that she calls
beautiful numbers. The number is called beautiful iff its binary
representation consists of k + 1 consecutive ones, and then k
consecutive zeroes.Some examples of beautiful numbers:
12 (110); 1102 (610); 11110002 (12010); 1111100002 (49610). More
formally, the number is beautiful iff there exists some positive
integer k such that the number is equal to (2k - 1) * (2k - 1).Luba has got an integer number n, and she wants to find its greatest
beautiful divisor. Help her to find it!
Input
The only line of input contains one number n (1 ≤ n ≤ 105) — the
number Luba has got.
Output
Output one number — the greatest beautiful divisor of Luba’s number.
It is obvious that the answer always exists.
Examples
input
3
output
1
input
992
output
496
思路
题目中定义了一种数,叫做美丽的数,定义是这样的:
一个数的二进制如果有连续的
k+1 个1和k 个0组成,那么这个数是美丽的数
比如,当:
- k=0 :1
- k=1 :110
- k=2 :11100
- k=3 :1111000
题目给出了一个数n,让你从它的因子里面找出一个最大的美丽的数
枚举美丽的数,然后与判断是否可以整除
代码
c++:
#include <bits/stdc++.h>#define mem(a,b) memset(a,b,sizeof(a))using namespace std;int dec(string s){ int len=s.length(),ans=0; for(int i=0; i<len; i++) ans+=(s[i]-'0')*(int)pow(2,len-1-i); return ans;}int main(){ int n,p=1; string i="110"; scanf("%d",&n); while(dec(i)<=n) { if(n%dec(i)==0) p=dec(i); i="1"+i+"0"; } printf("%d\n",p); return 0;}
python3:
n=int(input())i = '110'p=1while int(i,2)<=n: if n%int(i,2)==0: p=int(i,2) i='1'+i+'0'print(p)
- codeforces~~~
- Codeforces
- codeforces
- Codeforces
- codeforces
- codeforces
- Codeforces
- Codeforces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- DCM+BUFG的使用
- C++ error here is inaccessible
- 前端学习 | React-Native 组件生命周期
- 【原创译文】深入理解Android为什么不允许Room数据库对象间(外键)引用
- JavaScript使用技巧
- CodeForces
- 《软件架构模式》-第二章事件驱动架构(下)
- vue跨域
- 利用docker构建网页版简历
- 导入导出方法
- Excel技巧——OffSet
- 安卓PreferenceActivity使用EditTextPreference元素实现TimePicker
- java JDBC 使用C3P0连接池
- PAT