Ruby可以用 length ,size 这些关键字获得数组的大小
这里Ruby ,python, JAVA 都使用了类的方法
有静态方法,也有动态方法
首先是Ruby
#!/usr/bin/ruby class Pro def initialize(example) @current_num = example end def get_d arr = Array.new(@current_num){|e| e = e * 1 } tmp = 1 for i in 0 .. arr.length-1 if arr[i] - tmp > 4 puts "#{arr[i]}" tmp = arr[i] end end end def self.put_Each() sum = 0 for i in 0 .. 10 puts i sum += i end puts sum end end Obj1 = Pro.new(17) Obj1.get_d Pro.put_Each
然后是Python, 在#分割线之后的用的是单独的递归函数
#!/usr/bin/python # -*- coding: UTF-8 -*- class Pro: def __init__(self, example): self.current_num = example def get_d(self): arr = list(range(0, self.current_num)) tmp = 1 for i in arr: if i - tmp > 4: print i tmp = i Obj1 = Pro(17) Obj1.get_d() ################################################# def get_distance(A): for i in A[1:]: if i - A[0] > 4: t = A.index(i) print i return get_distance(A[t:]) a = list(range(1, 17)) get_distance(a)
然后是C
#include "stdio.h" int main(void) { int i, arr[16]; int tmp = 1; for(i = 0; i < 16; i++){ arr[i] = i + 1; } for(i = 0; i < 16; i++){ if(arr[i] - tmp > 4 ){ printf("%d\n", arr[i]); tmp = arr[i]; } } return 0; }
接下来是 C++
#include<iostream> using namespace std; void get_d(int arr[], int n){ int i, *p = arr; int tmp = 1; for (p=arr; p<arr+16; p++){ if(*p - tmp > n){ cout << *p << endl; tmp = *p; } } } int main(){ void get_d(int arr[], int n); int a[16],*p=a,i; for(i=0;i<16;i++){ p[i] = i+1; } get_d(a, 4); return 0; }
最后是Java
class Pro { public void get_d(int example) { int[] arr = new int[example]; int tmp = 1; for (int i = 0; i < example; i++) { arr[i] = i + 1; } for (int i = 0; i < arr.length; i++){ if (arr[i] - tmp > 4) { System.out.println(arr[i]); tmp = arr[i]; } } } } public class Test{ public static void main(String[] args){ Pro Obj1 = new Pro(); Obj1.get_d(16); } }
JAVA 给原始数组赋值的语句直接写在 Pro 类的 get_d方法中了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。