标签: numbers

C rand()函数不生成随机数

我是编程新手.我需要能用C生成随机数的东西.我找到了"rand()".但它不会产生随机值.请检查以下简单代码.

以下代码给出

roll the first dice : 6
roll the second dice : 6
roll the third dice : 5
Run Code Online (Sandbox Code Playgroud)

这是代码:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>


int main()
{

  int dice1,dice2,dice3,total1,total2;
  char prediction[10];

int dice_generator()
{
  dice1= (rand()%6)+1;
  printf("roll the first dice: %d \n", dice1);
  dice2= (rand()%6)+1;
  printf("roll the second dice: %d \n", dice2);
  dice3= (rand()%6)+1;
  printf("roll the third dice: %d \n", dice3);

  return 0;
}

  dice_generator();
  total1 = dice1+dice2+dice3;
  printf("final value is = %d\n",total1);
  return 0; …
Run Code Online (Sandbox Code Playgroud)

c random numbers

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

如何在数组中找到乘以某个数字的两个值

我想要做的是搜索一个数组并找出是否有两个数字可以乘以 225。这就是我现在所拥有的:

    int n = A.length;

    for(int i = 0; i >= n; i++){
        for(int j = 0; j >= n; j++){
            if(i == j){
            }
            else if(A[i] * A[j] == 225){
                return true;
            }
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

发生的事情是它找到数组中的第一个值并将其与其他所有值相乘,一旦找到两个 225 的数字,则返回 true。我也这样做了,如果 i 和 j 是相同的数字,那么它什么都不做,因为我不希望它比较相同位置的值。问题是,即使在确实有两个乘以 225 的数字(如 15、45、60、15)的数组上,它也会不断返回 false。那么我的代码有什么问题。

java arrays compare numbers multiplication

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

从循环打印

我需要打印一个完美数字的因子.这是我主要课程的要点:

ArrayList<Integer> perfNums = new ArrayList<>();
Scanner in = new Scanner(System.in);
System.out.print("Enter the upperbound: ");
upperbound = in.nextInt();
for (int i = 1; i <= upperbound; i++) {
     if (isPerfect(i)) { //boolean to check if number is a perfect number
        perfNums.add(i);
     }
}

System.out.println("Perfect numbers between 1 and " + upperbound + " are:");
for (int i = 0; i < perfNums.size(); i++) {
     System.out.print(perfNums.get(i) + " = ");
     printFactor((int)perfNums.get(i));
     System.out.println();
}
Run Code Online (Sandbox Code Playgroud)

这是printFactor类.

private static void printFactor(int number){ …
Run Code Online (Sandbox Code Playgroud)

java loops numbers while-loop factors

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

C ++具有相同的公式,但结果不同(计算器与C ++)

最近两天我一直在做一个简短的项目,但是现在一切都崩溃了, 因为有一个方程在C ++ / C#程序中计算时返回8.660254,但是当您尝试手动或使用计算器计算时返回0。

方程:

float mgr1 = (x + tr * 0.5f - tr / 2) * 1.73205f * 10.0f;
Run Code Online (Sandbox Code Playgroud)

就我而言:

x = 0;
tr = 1;
float mgr1 = (0 + 1 * 0.5f - 1 / 2) * 1.73205f * 10.0f;
Run Code Online (Sandbox Code Playgroud)

正确的结果是,0但是用C ++计算时,它返回8.660254?我要疯了吗?关于C ++,我有不知道的东西吗?它是什么?

在此处输入图片说明

在此处输入图片说明

c# c++ equation numbers c++11

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

在Python 3中打印1-100中的数字作为单词

List_of_numbers1to19 = ['one', 'two', 'three', 'four', 'five', 'six', 'seven',
                   'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen',
                   'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen',
                   'nineteen']
List_of_numbers1to9 = List_of_numbers1to19[0:9]
List_of_numberstens = ['twenty', 'thirty', 'fourty', 'fifty', 'sixty', 'seventy',
                       'eighty', 'ninety']

for i in List_of_numbers1to19:
    print(i)
list_of_numbers21to99 = []
count = 19
tens_count = 0
for j in List_of_numberstens:
    for k in List_of_numbers1to9:
        if tens_count%10 == 0:
            #should print an iteration of List_of_numberstens
            tens_count +=1
        tens_count +=1
        print(j, k)
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,这变得很乱:P很抱歉.基本上我正在尝试使用具有不同索引的三个不同的for循环来打印它们.我已经尝试过对列表进行切片并为列表编制索引,但我仍然将输出的数字乘以10作为完整列表List_of_numberstens.

我觉得我在这里要做的很清楚.

在此先感谢您的帮助!

python numbers python-3.x

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

Coursera Python:面向所有人的编程作业 5.2

我一直在学习 Coursera 的课程,用 Python 为每个人编程。但是第 7 周的 5.2 作业之一引起了我的注意。

目标是让用户输入一些数字并输入完成,当他输入他想要的所有数字时。之后,输出的应该是他输入的最大数字和最小数字。

这是问题所在。如果我输入负数,则不会显示。假设我输入:32, 55,10, -2 76。输出应该是 76 和 -2。但真正发生的是 76 和 10 被打印出来。

你们知道为什么会这样吗?

这是代码。

largest = None
smallest = None
while True:
    try:
        num = input("Enter a number: ")
        if num == "done":
            break
        print (num)

        num = int(num)

        for number in range(num):

            if largest is None or largest < num:
                largest = num
                continue
            elif smallest is None or smallest > num:
                smallest = num       
    except ValueError:
        print("Please, enter only …
Run Code Online (Sandbox Code Playgroud)

python numbers variable-assignment

-1
推荐指数
1
解决办法
3万
查看次数

将两个大数字加在一起

我有一个存储在数组中的两个大数字(p->数字[50]和q->数字[50]),并以十六进制打印出来

1319df046
111111111
Run Code Online (Sandbox Code Playgroud)

当加在一起时,我以十六进制的形式返回

242af'11'257

但是,显然我的答案"应该"

242af0157

将f和1加在一起时有一个差异,等于17,但是打印11(17是十六进制的11).我不确定为什么我的输出应该是0而不是11

int sum = 0;
int carry = 0;
for(i = 9; i >= 0; i--)
{
    sum = p->numbers[i] + q->numbers[i];

    sum = sum + carry;

    answer[i] = sum;

    carry = sum / 10;

    printf("%x", answer[i]);
}
Run Code Online (Sandbox Code Playgroud)

c struct numbers addition

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

检查字符串是否只包含数字

我想检查字符串是否只包含3个数字(000-999)所以我试过:

if (id.length() != 3 && !id.matches("[0-9]+")) {
            Terminal.printError("ID needs 3 Numbers!");
            return;
}
Run Code Online (Sandbox Code Playgroud)

java string numbers

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

C#中的圆积分数

我一直在搜索这个问题几个小时,但我找不到答案所以我问它:

我正在寻找一种方法或一些四舍五入25,599,99925,000,00025,599,99930,000,000:

 int num1 = 25599999;
 Console.WriteLine(RoundDown(num1, 6 /* This is the places (numbers from end that must be 0) */)) // Should return 25,000,000;
Run Code Online (Sandbox Code Playgroud)

或者向上:

 int num1 = 25599999;
 Console.WriteLine(RoundUp(num1, 6 /* This is the places (numbers from end that must be 0) */)) // Should return 30,000,000;
Run Code Online (Sandbox Code Playgroud)

注意:我不是在寻找一种舍入十进制数的方法.

.net c# int numbers rounding

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

有多少8位数可以被18整除,每个数字都是1,2或3?

使用python解决这个问题包括确保10,000,000和99,999,999之间的数字的所有个别数字都是1,2或3,如果数字也可以被18整除.答案(win)是这两个条件都为真的次数.

这是我到目前为止:

count=10000000
win=0
yes=False
while(True):  
    def check():
        i=0
        for i in range(0,7):
            if count[i]==1 or count[i]==2 or count[i]==3:
                yes=True
            else:
                return(False)
        return(yes)

    while True:

        if count%18==0 and check()==True:
            win+=1



    print(win)
    count+=1
    if count>99999999:
        exit()
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.

python math numbers

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