java阅读程序。判断整数m,n的最后值的数值与含义? 我算是算了,可不知道为啥,就是编译错误。郁闷的头

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java阅读程序。判断整数m,n的最后值的数值与含义? 我算是算了,可不知道为啥,就是编译错误。郁闷的头相关的知识,希望对你有一定的参考价值。

java阅读程序。判断整数m,n的最后值的数值与含义?

我算是算了,可不知道为什么,就是编译错误。郁闷的头痛。
以下是书上给的代码代前面的类和声明你们自己添吧书上给我这点代码:
题目就是:阅读程序。判断整数m,n的最后值的数值与含义?反正我没明白!
哎~给我讲讲吧。和运算结果为什么这样!在此谢过!
int = m=0,n=0;
for (int i=0; i<100; i++)
if(i%3==0)
m++;

if(i%7=0)
n++;


输出语句我也没写,不好意思~写的好我继续追加分数~

参考技术A public class A

public static void main(String []args)

int m=0,n=0;
for (int i=0; i<100; i++)

if(i%3==0)

m++;

if(i%7==0)

n++;


System.out.print(m+" "+n);


还有啊,你是不是基础没有掌握好,方法很重要的。几个方法你看看,用心看。一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
参考技术B public class B
public static void main(String arg[])
int m =0, n =0;
for(int i = 0; i < 100; i++)
if(i % 3 ==0)
m++;
//m和n为计数器作用,能被3或7整除就自加1;
if(i % 7 ==0)
n++;


System.out.println("m:"+m+",n:"+n); //输出m:34,n:15;

参考技术C m n 分别是求100以内能被3和7的整除的个数(也就是它们的倍数),如3%3 == 0 或6%3==0,m++,既当i==3 、6、9、12....时候,满足条件,m就加1(注:m++ 与m = m+1相同) 参考技术D public class A

public static void main(String []args)

int m=0,n=0;
for (int i=0; i<100; i++)

if(i%3==0)

m++;

if(i%7==0)

n++;


System.out.print(m+" "+n);


目的是求出100内多少数被3整除多少数被7整除
答案34 15

LeetCode面试题16. 数值的整数次方

题目:

技术图片

思路:

1、最简单直观的方法就是循环相乘,但是会超时

2、快速幂(二进制角度)
对于任意十进制n,设其二进制为(b_m)...(b_2b_1),则有

  • (n=1b_1 + 2b_2 + ... + 2^{m-1}b_m)
  • (x^n = x^{1b_1 + 2b_2 + ... + 2^{m-1}b_m} = x^{1b_1}x^{2b_2}...x^{2^{m-1}b_m})

根据上面的推导,可以把(x^n)的计算,转化为

  • 计算(x^1, x^2, ..., x^{2^{m-1}})的值,循环赋值即可(x=x^2)
  • 获取二进制各位(b_1, b_2, ..., b_m)的值,循环执行与操作、移位操作即可
技术图片

3、快速幂(递归二分)

4、快速幂(非递归二分)
非递归形式同二进制形式原理相同,以(x^{77}=xcdot x^4 cdot x^8 cdot x^{64})为例,x一直在累积平方,遇到奇数则将当前的x乘到结果上。

( egin{aligned} x^{77} =& (x^2)^{38} * x 1 (x^2)^{38} =& (x^4)^{19} 0 (x^4)^{19} =& (x^8)^9 * x^4 0 (x^8)^9 =& (x^{16})^4 * x^8 1 (x^{16})^4 =& (x^{32})^2 0 (x^{32})^2 =& (x^{64})^1 0 (x^{64})^1 =& (x^{128})^0 * x^{64} 1 end{aligned} )

代码:

Python

class Solution(object):
    def myPow(self, x, n):
        """
        :type x: float
        :type n: int
        :rtype: float
        """
        # 暴力循环求解 291/304 超时
        # t = abs(n)
        # result = 1.0
        # while t:
        #     result *= x
        #     t -= 1
        # if n < 0:
        #     return 1.0 / result
        # else:
        #     return result

        # # 快速幂(二进制)
        # t = abs(n)
        # result = 1.0
        # while t:
        #     if t & 1:
        #         result *= x
        #     x *= x
        #     t >>= 1
        # if n < 0:
        #     return 1.0 / result
        # else:
        #     return result

        # # 快速幂(递归二分)
        # if n == 0:
        #     return 1.0
        # if n < 0:
        #     return 1.0 / self.myPow(x, -n)
        # if n & 1:
        #     return x * self.myPow(x, n-1)
        # return self.myPow(x * x, n // 2)

        # 快速幂(非递归二分, 同二进制思想一致)
        result = 1.0
        t = abs(n)
        while t:
            if t % 2:
                result *= x
            x *= x
            t //= 2
        if n < 0:
            return 1.0 / result
        else:
            return result

相关问题



以上是关于java阅读程序。判断整数m,n的最后值的数值与含义? 我算是算了,可不知道为啥,就是编译错误。郁闷的头的主要内容,如果未能解决你的问题,请参考以下文章

java实现有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

c语言 输出[m,n]之间素数 的程序

在c#中如何实现判断一个数值是不是为整数(或小数)?

在c#中如何实现判断一个数值是不是为整数(或小数) 谢谢

java_完数

[cqoi2012]局部极小值