我得到了一个算法的伪码:
1 for i=1 to n //n times
2 j=2^i //n times
3 while j>=2 //2+3+....? times
4 j=j/2 //1+2+....? times
其中' to‘的意思是小于或等于,其中'^’的意思是…的幂。
我很确定前两行运行了n次,但是我不太确定如何计算另外两行。
我知道第3行的前两个值是2.然后是3,但我不知道接下来该怎么做。
第4行也是如此,前两个值是1
我写了下面的程序来求大斐波那契数的模数。这可以解决大量数字,但在a = 509618737、b = 460201239和N = 229176339这样的fibo_dynamic(509618737,460201239,229176339)情况下无法计算。请帮我解决这个问题。
long long fibo_dynamic(long long x,long long y,long long n, long long a[]){
if(a[n]!=-1){
return a[n];
}else{
if(n==0){
a
我对编程很陌生,我需要做一个有n元素数组的小程序来找到最大的4个数字,然后计算它们的和。
谢谢你的帮忙!
例如:输入是3 7 8 1 6 9 8 5
输出:9 8 8 7 sum 32
我得到的是9 8 7 6的输出(没有第二次显示8)
#include <stdio.h>
#include <stdlib.h>
int maxim(int a, int b) {
if (a > b)
return a;
else
return b;
}
int main() {
int i, j, n, a[999],
问题如下:
编写一个程序,提示用户输入一个表示书中所有页码之和的正整数m。程序打印该数字是否为有效和。例如,整数21是有效的页码和,因为1+2+3+4+5+6= 21。整数25不是有效和,因为前6个页码的和是21,下一个页码的和是7,所以前7个页码的和应该是28。如果m是所有页码的有效和,则必须有一个整数n,使1+2+3+…+n= n(n+1)/2 =m
这是我的密码:
#include <iostream>
using namespace std;
int main() {
int num,n=0,sum=0;
cout<<"Enter a p
我的密码怎么了?我想逆转,例如1234到4321,它没有工作!
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
for (int i =0; i < num; i++){
int n = in.nextInt();
char[] ch = ("" + n).toCharArray();
for (i
我有一个对未排序数组进行顺序搜索的算法:
SequentialSearch(A[0..n-1],K)
i=0
while i < n and A[i] != K do
i = i+1
if i < n then return i
else return -1
其中我们有一个输入数组A[0...n-1]和一个搜索关键字K
我知道最坏的情况是n,因为我们必须搜索整个数组,因此是n项O(n)
我知道最好的情况是1,因为这意味着我们搜索的第一个项目就是我们想要的项目,或者数组中有所有相同的项目,无论哪种情况都是O(1)
但我不知道如何计算平均情况。我的教科书给出的答案是:
= (
以下是我的代码:
#include <stdio.h>
void arrays()
{
int i,n,j;
printf("Enter the size of the arrays:\n");
scanf("%d",&n);
int a1[n];
int a2[n];
int intersection[2*n], unions[n];
printf("Enter elements of the first array:\n");
for (i = 0; i
我有个问题。我用siamese方法打乱了一个矩阵,并使用了下面的代码:
function magic = magicsquare(matrix,n)
magic=zeros(n,n);
i=1;
j=(n+1)/2;
for ki=1:n
for kj=1:n
is=i;
js=j;
magic(i,j)=matrix(ki,kj);
i=n-rem(n+1-i,n);
j=rem(j,n)+1;
if magic(i,j)~=0
i=rem(is,n)+1;
j=js;
end
end
end
现在,只有混洗后的矩阵,我需要得到初始矩阵。我该怎么做
在Excel中,我使用A列作为我的数据的id号,ID号从年份开始。如2018xxxxxxx。我想要一年的最大身份证号码。
在python中,使用一个简单的条件检查,然后我就可以得到结果。比如。
col_A_max = max([x for x in range(A) if str(x) == '2016'])
我尝试在Excel中重写它,但它不起作用。
=max(if(A:A, left(A:A, 4) = "2016", A:A))
我试图找到用于对其进行排序的struct数组的大小。不确定如何使用通常用于非结构数组的sizeof()函数来实现它。
我还试图弄清楚在参数和temp变量之间初始化vehicle结构时做错了什么。
error: incompatible types when initializing type ‘struct data *’ using type ‘struct data’
struct data *temp = vehicles[j];
这是我正在使用的数据结构。
struct data{
char *model;
float engineSize;
int cost
我试图创建一个函数,该函数返回给定数字的最小素数:
require 'prime'
def findSmallestPrimeFactor(number)
return 2 if number.even?
return number if Prime.prime? number
arrayOfFactors = (1..number).collect { |n| n if number % n == 0 }.compact
arrayOfFactors.each { |n| arrayOfFactors.pop(n) unless Prime.prime? n
我想从10个数字中找出三个最大的数字(区域),我写了这段代码,但是只有最大的数字是正确的,第二和第三大数字是错误的。所以我需要帮助。有什么建议吗?圣诞快乐!
#include <stdio.h>
#define N 3
int main()
{
int i,j;
int area;
int maxArea[N];
int empty = N;
for(j=0;j<10;j=j+1)
{
printf("Input:");
s
该程序用于为网格中的N个点找到最小的最长距离,并选择其中一个点作为中心。如果一个人想从一个点到另一个点,他必须通过枢纽点。程序被编译了,但它没有扫描输入。
#include<stdio.h>
#include<conio.h>
#include <math.h>
int abs1(int,int);
int dist(int,int,int,int);
main()
{
int x[200],y[2000],m,min,max1,max2,i,j,n,d[1000][1000];
scanf("%d",&n);
这只是一个实践测试问题,我很好奇如何优化性能。谢谢!
最大公因子(GCD),也称为N个数的最高公因子(HCF),是除以所有数而不给出余数的最大正整数。
编写一个算法来确定N个正整数的GCD。
function generalizedGCD(num, arr)
{
// find the factors of lowest member of arr and then check if every other number is divisible
arr.sort( function( a, b ) { return a-b; });
const lowest = ar
实际上,我是在教自己算法,在这里我试图解决以下问题:
我们有一个任意阶的n个正整数数组,我们有k,它是k>=1 to n,问题是输出k个最小的奇数整数。如果A中奇数数小于k,则应报告所有奇数整数。例如,如果A= 2,17,3,10,28,5,9,4,12,13,7和k= 3,输出应该是3,5,9,我想在O(n)时间内解决这个问题。
我目前的解决方案是有另一个只有奇数的数组,然后应用这个算法,通过找到中位数并将列表划分为L、中位数、右边,然后按以下方式比较k:
If |L|<k<= (|L|+|M|) Return the median
else if K<|L|, s