小编Fan*_*ang的帖子

为什么pow(int,int)这么慢?

我一直在做一些项目Euler练习,以提高我对C++的知识.

我写了以下函数:

int a = 0,b = 0,c = 0;

for (a = 1; a <= SUMTOTAL; a++)
{
    for (b = a+1; b <= SUMTOTAL-a; b++)
    {
        c = SUMTOTAL-(a+b);

        if (c == sqrt(pow(a,2)+pow(b,2)) && b < c)
        {
            std::cout << "a: " << a << " b: " << b << " c: "<< c << std::endl;
            std::cout << a * b * c << std::endl;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这计算在17毫秒.

但是,如果我改变了这条线

if (c == sqrt(pow(a,2)+pow(b,2)) && b < …
Run Code Online (Sandbox Code Playgroud)

c++ performance cmath pow

48
推荐指数
2
解决办法
7428
查看次数

无法在Docker容器中运行命令

我正在尝试bash在名为"bind"的docker容器中执行

docker exec -it bind bash
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

rpc error: code = 2 desc = oci runtime error: exec failed: 
container_linux.go:247: starting container process caused "process_linux.go:110: 
decoding init error from pipe caused \"read parent: connection reset by peer\""
Run Code Online (Sandbox Code Playgroud)

日志中没有什么特别之处.重启docker或容器似乎没有任何效果.我还确保硬盘上有足够的空间.启动容器中的任何其他二进制文件会产生相同的错误.

版本信息:

docker --version:

Docker version 1.13.1, build 07f3374/1.13.1
Run Code Online (Sandbox Code Playgroud)

OS:

cat /etc/redhat-release 

CentOS Linux release 7.6.1810 (Core) 
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

redhat centos docker

6
推荐指数
1
解决办法
3266
查看次数

数组作为带参数的函数?

我正在尝试学习c,所以我尝试阅读一些源代码.
但我不知道这可能意味着什么:

static const char*(*const functab[])(void)={
        ram,date
};
Run Code Online (Sandbox Code Playgroud)

第一部分,static const char*很好,因为它似乎是一个函数(有一个类型的参数void),static应该意味着它只在这个文件中可见,并且const char*应该意味着值不能改变,但地址可以改变.
但在这种情况下,在函数名后面的最后一部分之后没有意义,就像它的情况一样

static const char * date(void);
static const char * ram(void);
Run Code Online (Sandbox Code Playgroud)

而不是函数名称(*const functab[]),一个名为functab的const数组包含地址?
这是包含函数ram和date的某种包装函数吗?一些声明数组的替代方法?

c arrays pointers const function-pointers

5
推荐指数
1
解决办法
144
查看次数

用日期和星座符号填充二维数组的更好方法

我正在解决以下问题:

我想填充一个二维[365,2]数组.第一个值应该保留日期:从1月1日开始到12月31日结束.第二个值应该为每个日期保存相应的星座:

例如array[0, 0]持有101并array[0, 1]持有白羊座等等.

我写了一个函数:

public static void fill_array(string[,] year_zodiac, int days, string zodiac, string startdate, int starting_day) 
{
    //function to fill array with date and zodiac
    int startdate_int = 0;
    for (int i = starting_day; i <= days; i++)
    {
        year_zodiac[i, 0] = startdate;
        year_zodiac[i, 1] = zodiac;

        startdate_int = Int32.Parse(startdate);
        startdate_int++;
        startdate = startdate_int.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

并称之为:

fill_array(main_array, 18, "Aries", "101", 0);
Run Code Online (Sandbox Code Playgroud)

每个十二生肖都必须这样做.我通过简单地fill_array两次打电话来规避月份休息问题(即我在十二月对白羊座的一部分称呼一次,在一月份对一部分白羊座就称之为一次).

这个解决方案有效,但对我来说似乎非常粗糙.

有人能给我一些更优雅的解决方案吗?

c# arrays time date

2
推荐指数
2
解决办法
1586
查看次数

Log4J2不输出调试信息

我已经安装了 log4j2 并设置了属性文件,但无法将 log4j2 输出调试信息发送到控制台。我怀疑我的配置有问题。

这是我的源代码:

package com.smt.trimble.poc;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class NMEAReader {

      private static final String hostName = "192.168.0.2";
      private static final int portNumber = 5017;
      private static Socket nmeaSocket;

      private static final Logger logger = LogManager.getLogger(NMEAReader.class);


      public static void main(String[] args) {

        try {

        nmeaSocket = new Socket(hostName, portNumber);
        logger.debug("Creating socket");
        PrintWriter out = new PrintWriter(nmeaSocket.getOutputStream(), true);
        BufferedReader in = 
          new BufferedReader(new InputStreamReader(nmeaSocket.getInputStream()));

        String userInput;

        while (true) …
Run Code Online (Sandbox Code Playgroud)

java log4j2

1
推荐指数
1
解决办法
8472
查看次数

在MySQL中显示MIN()和MAX()值

我有一个名为cia的表,有2列:

第1列("名称")具有世界上所有国家/地区的名称.第2列("区域")的大小以m ^ 2为单位.

我想找到最大和最小的国家.要找到我需要输入以下查询的那些:

SELECT Name, MAX(area) FROM cia
Run Code Online (Sandbox Code Playgroud)

我的其他疑问:

SELECT Name, MIN(area) FROM cia
Run Code Online (Sandbox Code Playgroud)

现在显然我能做到

SELECT MIN(area), MAX(area) FROM cia
Run Code Online (Sandbox Code Playgroud)

但是,我不会得到我的值的相应名称.是否有可能获得这样的输出

国家| Fläche

阿富汗| 列'区域'的最低值

中国| 列'区域'的最高值

mysql sql database select

0
推荐指数
1
解决办法
6575
查看次数

标签 统计

arrays ×2

c ×1

c# ×1

c++ ×1

centos ×1

cmath ×1

const ×1

database ×1

date ×1

docker ×1

function-pointers ×1

java ×1

log4j2 ×1

mysql ×1

performance ×1

pointers ×1

pow ×1

redhat ×1

select ×1

sql ×1

time ×1