当前位置: 首页 > wzjs >正文

内蒙网网站移动端优化工具

内蒙网,网站移动端优化工具,天津网站建设排名,联通的网站是谁做的这道题是一道规律 1到10 中是不是只有3 5 6 7 9 10 满足规律,你说对吧 那我们来看不满足规律的有那些呢 是不是1 2 4 8 等等 你发现什么了是不是所有的2 的幂次方都不满足 只要不是2 的幂次方就都是合法的数字 ok思路有了那我们怎么来判断输入的某一个数是…

这道题是一道规律

1到10 中是不是只有3 5 6 7 9 10 

满足规律,你说对吧

那我们来看不满足规律的有那些呢

是不是1 2  4 8 等等

你发现什么了是不是所有的2 的幂次方都不满足

只要不是2  的幂次方就都是合法的数字

ok思路有了那我们怎么来判断输入的某一个数是不是2 的整数次幂呢?

我一开始的思路不太对

我想的是用一个数组来存储2的0次幂到2 的17次幂的大小

然后来个循环

对每一个输入的数都进行判断只有等于数组中的一个就跳出循环然后cnt++

但是不知到为啥答案错误了


emm

感觉没问题,但是只能拿到30%

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Map;
import java.util.Scanner;
import java.util.StringTokenizer;/*** @author zb* date2025/3/30 18:19*/
public class Main {static  long binary[] = new long[18];public static void main(String[] args) {
//        System.currentTimeMillis();
//        Scanner in  = new Scanner(System.in);for (int i = 0; i <=17 ; i++) {binary[i] = (long) Math.pow(2,i);}long n  = in.nextLong();long cnt = 0;while (n-->0){int flage = 0;long num = in.nextLong();for (int i = 0; i <=17 ; i++) {if(num==binary[i]){flage = -1;break;}}if(flage==-1){cnt++;}}out.println(cnt);out.flush();//        in.close();}static  FastReader in =new FastReader();static PrintWriter out = new PrintWriter(System.out);static class FastReader{static BufferedReader br =new BufferedReader(new InputStreamReader(System.in));static StringTokenizer st = new StringTokenizer("");String next(){while (!st.hasMoreElements()){try {st =new StringTokenizer(br.readLine());} catch (IOException e) {throw new RuntimeException(e);}}return st.nextToken();}int nextInt(){return Integer.parseInt(next());} double nextDouble(){return Double.parseDouble(next());}long nextLong(){return Long.parseLong(next());}}}

下面是正确的

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Map;
import java.util.Scanner;
import java.util.StringTokenizer;/*** @author zb* date2025/3/30 18:19*/
public class Main {static  long binary[] = new long[18];public static void main(String[] args) {
//        System.currentTimeMillis();
//        Scanner in  = new Scanner(System.in);for (int i = 0; i <=17 ; i++) {binary[i] = (long) Math.pow(2,i);}long n  = in.nextLong();long cnt = 0;while (n-->0){int flage = 0;long num = in.nextLong();
//           for (int i = 0; i <=17 ; i++) {
//               if(num==binary[i]){
//                   flage = -1;
//                   break;
//               }
//           }
//           if(flage==-1){
//               cnt++;
//           }if(num>0&&(num & (num - 1)) == 0){cnt++;}}out.println(cnt);out.flush();//        in.close();}static  FastReader in =new FastReader();static PrintWriter out = new PrintWriter(System.out);static class FastReader{static BufferedReader br =new BufferedReader(new InputStreamReader(System.in));static StringTokenizer st = new StringTokenizer("");String next(){while (!st.hasMoreElements()){try {st =new StringTokenizer(br.readLine());} catch (IOException e) {throw new RuntimeException(e);}}return st.nextToken();}int nextInt(){return Integer.parseInt(next());} double nextDouble(){return Double.parseDouble(next());}long nextLong(){return Long.parseLong(next());}}}

 这一段是核心代码

x如果是2的整数幂次方,那么

x的二进制数 肯定是1 开头后面都是0 

而x-1则相反
x-1 的二进制数是0开头后面都是1 

你想一下

如果一下数再加一就是2 的整数次幂

那么他是不是再加1 就变成最前面是1 后面都是0 

比如

2 的5次方对应的二进制数

100000

2的5次方对应的二进制数-1 

是不是

011111

两者进行位运算与 &

是不是就是0 

   if(num>0&&(num & (num - 1)) == 0){cnt++;}

http://www.dtcms.com/wzjs/65080.html

相关文章:

  • 做网站 兼职网络广告的优势有哪些
  • 深圳市建设厅网站搜索引擎优化期末考试答案
  • 美橙建站之星怎么样人民日报最新头条10条
  • 菏泽手机网站建设软文类型
  • 动态网站设计与制作抖音推广
  • 如何在阿里云自主建网站推广下载app拿佣金
  • wordpress wpinc成都网站排名优化公司
  • 网站链接dw怎么做网络推广吧
  • 找生产厂家的网站海南百度推广seo
  • 江阴哪家做网站便宜百度关键字
  • wordpress 制作小程序深圳seo排名
  • 手机端网站 优帮云百度seo排名技术必不可少
  • 自己做动漫 哪个网站赚钱营销型网站建设要点
  • 怎样做网站公司接广告赚钱的平台
  • 中裕隆建设有限公司网站网站推广软件下载安装免费
  • 如何做品牌网站宁夏百度公司
  • 织梦网站做瀑布流方便百度招聘网最新招聘信息
  • 网站建公司生存指数搜索
  • 展览展示设计有限公司开鲁网站seo
  • 公司网站 域名 cn com广州网络推广外包平台
  • 个人备案经营网站广州最新新闻事件
  • 辽宁省工程建设招标网网站首页seo关键词布局
  • seo营销推广平台关键词优化是怎样收费的
  • java做视频网站手机app软件开发
  • 友情链接是在网站后台做吗百度一下搜索一下
  • 做中 英文独立的两个网站seo网站优化流程
  • 个人可以建设头条网站吗页面关键词优化
  • 企业网站的开发背景数据交换平台
  • 寓意前程远大的公司名字宁波抖音seo搜索优化软件
  • 做外贸要看哪些网站深圳营销型网站定制