我是编程新手.我需要能用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) 我想要做的是搜索一个数组并找出是否有两个数字可以乘以 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。那么我的代码有什么问题。
我需要打印一个完美数字的因子.这是我主要课程的要点:
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) 最近两天我一直在做一个简短的项目,但是现在一切都崩溃了, 因为有一个方程在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 ++,我有不知道的东西吗?它是什么?
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
.
我觉得我在这里要做的很清楚.
在此先感谢您的帮助!
我一直在学习 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) 我有一个存储在数组中的两个大数字(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) 我想检查字符串是否只包含3个数字(000-999)所以我试过:
if (id.length() != 3 && !id.matches("[0-9]+")) {
Terminal.printError("ID needs 3 Numbers!");
return;
}
Run Code Online (Sandbox Code Playgroud) 我一直在搜索这个问题几个小时,但我找不到答案所以我问它:
我正在寻找一种方法或一些四舍五入25,599,999
至25,000,000
或25,599,999
到30,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)
注意:我不是在寻找一种舍入十进制数的方法.
使用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)
任何帮助是极大的赞赏.