重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这是pascal或者delphi语言编写的。
创新互联是专业的陆川网站建设公司,陆川接单;提供网站制作、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行陆川网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
要改成C或JAVA的代码倒是不难,难是的C中的数据类型与这个程序中所用到的类型不一样啊。
var max,len,n:int64; C代码为 _int64 max,len,n;//占64bit的特殊整型变量
i,j:longint; C代码为 long int i,j;//占32位的长整型变量
w,v,f:array[0..1000]of extended; C代码为可以为 long double w[1001],v[1001],f[1001];//程序本意是占10字节的大浮点型数据类型,C编译器有时为8字节,有时为10字节,JAVA会为多少节字就不知道了
minv,t:extended;C代码为 long double minv,t;//同上
begin 以下的代码变成C代码比较麻烦了,就不变了。 你自已用C重写就好了
assign(input,'CONVOY.in'); //打开文件读
reset(input);
assign(output,'CONVOY.out'); //打开文件写
rewrite(output);
read(max,len,n); //读in文件长度
for i:=1 to n do
read(w[i],v[i]);
f[0]:=0;
f[1]:=len/v[1];
for i:=2 to n do
begin
f[i]:=1e24;
minv:=1e24;
t:=0;
for j:=i downto 1 do
begin
t:=t+w[j];
if v[j]minv then minv:=v[j];
if tmax then break;
if minv0 then if f[j-1]+len/minvf[i] then f[i]:=f[j-1]+len/minv;
end;
end;
writeln(f[n]*60:0:1);
close(input);
close(output);
end.
libMyNative.so:MyNative.o makefile gcc -Wall -rdynamic -shared -o libMyNative.so MyNative.o MyNative.o:MyNative.c MyNative.h gcc -Wall -c MyNative.c -I./ -I/sandbox/JAVA2S/jdk1.6.0_16/include -I/sandbox/JAVA2S/jdk1.6.0_16/include/linuxcl:rm -rf *.o *.so libMyNative.so:MyNative.o makefile gcc -Wall -rdynamic -shared -o libMyNative.so MyNative.o MyNative.o:MyNative.c MyNative.h gcc -Wall -c MyNative.c -I./ -I/sandbox/JAVA2S/jdk1.6.0_16/include -I/sandbox/JAVA2S/jdk1.6.0_16/include/linuxcl:rm -rf *.o *.so 其中,“/sandbox/JAVA2S/jdk1.6.0_16”为JDK安装目录 “libMyNative.so”是Java类中static {System.loadLibrary("MyNative");}静态方法中参数+lib 五、修改.bash_profile文件,配置环境变量,由于生成的.so文件在当前目录下,故 .bash_profile文件设置如下 export LD_LIBRARY_PATH=./ 六、执行java MyNative命令,结果如下
void main()
{
int a ,b,c,x,y,z,i,j=0;
for (a=1;a=9;a++ )
{
for (b=0;b=9;b++ )
{
if(a==b){
continue;
}
x=a*100+b*11;
y=a*101+b*10;
z=a*110+b;
for(i=10;i32;i++){
c=i*i;
if ((c==x)||(c==y)||(c==z))
{
r(c);
printf("%d",c);
++j;}
}
}
}r(j);printf("%d",j);
}
int r(int d)
{return d;}
}
这样应该可以了
Java Native Interface(JNI)是Java语言的本地编程接口,是J2SDK的一部分。在java程序中,我们可以通过JNI实现一些用java语言不便实现的功能。通常有以下几种情况我们需要使用JNI来实现。 标准的java类库没有提供你的应用程序所需要的功能,通常这些功能是平台相关的 你希望使用一些已经有的类库或者应用程序,而他们并非用java语言编写的 程序的某些部分对速度要求比较苛刻,你选择用汇编或者c语言来实现并在java语言中调用他们 下面我们开始编写HelloWorld程序,由于涉及到要编写c/c++代码因此我们会在开发中使用Microsoft VC++工具。编写java代码,我们在硬盘上建立一个hello目录作为我们的工作目录,首先我们需要编写自己的java代码,在java代码中我们会声明native方法,代码非常简单。如下所示 class HelloWorld { public native void displayHelloWorld(); static { System.loadLibrary("hello"); } public static void main(String[] args) { new HelloWorld().displayHelloWorld(); } } 注意我们的displayHelloWorld()方法的声明,它有一个关键字native,表明这个方法使用java以外的语言实现。方法不包括实现,因为我们要用c/c++语言实现它。注意System.loadLibrary("hello")这句代码,它是在静态初始化块中定义的,系统用来装载hello共享库,这就是我们在后面生成的hello.dll(如果在其他的操作系统可能是其他的形式,比如hello.so) 编译java代码 javac HelloWorld.java 生成HelloWorld.class文件 创建.h文件 这一步中我们要使用javah命令生成.h文件,这个文件要在后面的c/c++代码中用到,我们运行 javah HelloWorld。这样我们可以看到在相同目录下生成了一个HelloWorld.h文件,文件内容如下 在此我们不对他进行太多的解释。 /* DO NOT EDIT THIS FILE - it is machine generated */ #include /* Header for class HelloWorld */ #ifndef _Included_HelloWorld #define _Included_HelloWorld #ifdef __cplusplus extern "C" { #endif /* * Class: HelloWorld * Method: displayHelloWorld * Signature: ()V */ JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld (JNIEnv *, jobject); #ifdef __cplusplus } #endif #endif 编写本地实现代码 在这部分我们要用C/C++语言实现java中定义的方法,我们在VC++中新建一个Project,然后创建一个HelloWorldImp.cpp文件,内容如下 #include #include "HelloWorld.h" #include JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj) { printf("Hello world!\n"); return; } 注意我们这里include了 jni.h和刚才得到的HelloWorld.h文件。因此你要在VC++里面设置好,jni.h在JAVA_HOME/include里面。编译通过后再生成hello.dll文件。 运行java程序 把上面生成的hello.dll文件复制到我们的工作目录,这时候我们的目录中包括HelloWorld.java,HelloWorld.class和hello.dll文件。运行java HelloWorld命令,则可在控制台看到Hello world| 的输出了。运行VC++; 文件---新建---选“win32 console application”(控制台程序)---在右方设置好路径并输入工程名---确定 接下来的几个提示框点确定就行了,那是提示是否要用VC++提供的框架之类的 在左边的工作空间中选“FILEVIEW”标签项,点开“+”号,右键点击“SOURCE FILES”,选“添加文件到目录”,此即添加你要建立的C++源程序文件,会提示你没有文件,是否添加,你点是,输入文件名保存就OK了 然后SOURCE FILES下就出现了你刚才建立的*.CPP文件,双击,输入代码. 以下就是点”组建”菜单中的”编译”、”组建”等命令进行调试了。 相信你会了。