namespace myjinxin
{using System;publicclassKata{publicint[]GetCandyPosition(int n,int r,int c,int candy){if(candy > n)returnnewint[]{-1,-1,-1};int tableNr =(int)Math.Ceiling(candy *1.0/(r * c));
candy -=((tableNr -1)*(r * c));int maks = c * r +1;int row =0;while(maks >0){if(candy >= maks - c)break;else{ maks -= c; row++;}}while(candy > c) candy -= c;int szereg = c - candy;returnnewint[]{ tableNr, row, szereg };}}}
答案2:
namespace myjinxin
{using System;publicclassKata{publicint[]GetCandyPosition(int n,int r,int c,int candy){if(n < candy)returnnew[]{-1,-1,-1};var p = candy %(r * c);returnnew[]{(int)Math.Ceiling(candy /(r * c *1.0)),(int)Math.Ceiling(p /(c *1.0))==0?0: r -(int)Math.Ceiling(p /(c *1.0)), p % c ==0?0: c -(p % c)};}}}
答案3:
namespace myjinxin
{using System;publicclassKata{publicint[]GetCandyPosition(int n,int r,int c,int candy){//coding and coding..int[] candyPosition =newint[3];int arrayPos;int boxSize = r * c;if(candy > n || candy ==0){
candyPosition =newint[]{-1,-1,-1};}else{//Box
candyPosition[0]=(int)Math.Ceiling((double)candy/(double)boxSize);//reverses candy # and position in array that starts with 0
arrayPos = boxSize -((candy -1)% boxSize)-1;//Row
candyPosition[1]= arrayPos / c;//Column
candyPosition[2]= arrayPos % c;//Test Print//Console.WriteLine(arrayPos);}return candyPosition;}}//0 ~ 1, 2, 3, 4, 5 ~ 0}
答案4:
namespace myjinxin
{using System;publicclassKata{publicint[]GetCandyPosition(int n,int r,int c,int v){if(v > n || v <1)returnnewint[]{-1,-1,-1};int rc = r * c;int b =--v / rc;
v %= rc;returnnewint[]{ b +1, r - v / c -1, c - v % c -1};}}}
简单的乐趣#171:获得糖果位置【难度:2级】:答案1:namespace myjinxin{ using System; public class Kata { public int[] GetCandyPosition(int n, int r, int c, int candy) { if (can...