小程序在哪写算法

小程序在哪写算法,第1张

程序在支持JavaScript语言的环境中写算法,可以悔基销使用一些比较流行的编程语言或脚本语言,如JavaScript、PHP、Python等。在编写小程序算法时,要注意小程序的性能和体积,让用户锋裤能够快速加载和使碧游用小程序。

visual studio下的工程,所以有个预编译头stdafx,然后没考虑异常。。

stdafx应该蔽如是去掉就可以吧,我不太清楚,反正这个根据vc++的情况稍作改动就可以了,其他算法之类是不受影响的

---------------------------------------------------------

输入两个数,当中要有一个空格。不过C/C++实在写的太少,貌似读入那里写的太麻烦了。。但是又不知道一般会宏燃启怎么写。。然后,异常依旧段宴未考虑。。

#include "stdafx.h"

#include "stdio.h"

double result = 10e250

int *plusPositions

int plusCount

double atod(int *digits, int length)

{

double number = 0

for (int i = 0i <length++i) {

number = number * 10 + digits[i]

}

return number

}

void solve(int *digits, int length, int index, double currentSum,

int plusesRemain, int *tempPlusPositions)

{

if (plusesRemain == 0) {

double tempResult = currentSum + atod(digits, length)

if (tempResult <result) {

memcpy(plusPositions, tempPlusPositions, sizeof(int) * plusCount)

result = tempResult

}

} else {

for (int i = 1i <length - plusesRemain + 1++i) {

tempPlusPositions[plusesRemain - 1] = index + i

solve(digits + i, length - i, index + i,

currentSum + atod(digits, i), plusesRemain - 1,

tempPlusPositions)

}

}

}

inline void printResult(int *digits, int length)

{

int digitIndex = 0, plusIndex

for (plusIndex = plusCount - 1plusIndex >= 0--plusIndex) {

for ( digitIndex <plusPositions[plusIndex]++digitIndex) {

printf("%d", digits[digitIndex])

}

printf(" + ")

}

for ( digitIndex <length++digitIndex) {

printf("%d", digits[digitIndex])

}

printf(" = %d\n", (int) result)

}

void solve(int *digits, int length, int pluses)

{

plusCount = pluses

plusPositions = new int[pluses]

int *tempPlusPositions = new int[pluses]

solve(digits, length, 0, 0, pluses, tempPlusPositions)

printResult(digits, length)

delete [] tempPlusPositions

delete [] plusPositions

}

int _tmain(int argc, _TCHAR* argv[])

{

char string[200]

int digits[200], plus

scanf("%s %d", &string, &plus)

int i

char c

for (i = 0i <200++i) {

c = string[i]

if (c == '\0')

break

digits[i] = c - '0'

}

solve(digits, i, plus)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12411342.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存