Comment detail

循環関数 (Nested Flatten)

C#で。 負数の剰余が上手くいきませんですた。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;

namespace CycleModular
{
    class Program
    {
        static int modular(int n, int low, int high)
        {
            return (n + high - low + 1) % (high - low + 1) + low;
        }

        static void Main(string[] args)
        {
            int ret = 0;

            ret = modular(0, 100, 200);
            Console.WriteLine("modular(0,100,200)    = {0} -> {1}", ret, ret == 100);
            ret = modular(50, 100, 200);
            Console.WriteLine("modular(50,100,200)   = {0} -> {1}", ret, ret == 150);
            ret = modular(100, 100, 200);
            Console.WriteLine("modular(100,100,200)  = {0} -> {1}", ret, ret == 200);
            ret = modular(101, 100, 200);
            Console.WriteLine("modular(101,100,200)  = {0} -> {1}", ret, ret == 100);
            ret = modular(-1, 100, 200);
            Console.WriteLine("modular(-1,100,200)   = {0} -> {1}", ret, ret == 200);
            ret = modular(1, -5, 200);
            Console.WriteLine("modular(1,-5,200)     = {0} -> {1}", ret, ret == -4);
            ret = modular(-500, -5, -1);
            Console.WriteLine("modular(-500,-5,-1)   = {0} -> {1}", ret, ret == -5);

            Console.ReadKey();
        }
    }
}

言語いれわすれました。。。

うーん。コード入れなきゃだめなのか。再投稿。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
ret = modular(0,100,200)  ;
Console.WriteLine("modular(0,100,200)    = {0} -> {1}", ret, ret ==  100);
ret = modular(50,100,200) ;
Console.WriteLine("modular(50,100,200)   = {0} -> {1}", ret, ret ==  150);
ret = modular(100,100,200);
Console.WriteLine("modular(100,100,200)  = {0} -> {1}", ret, ret ==  200);
ret = modular(101,100,200);
Console.WriteLine("modular(101,100,200)  = {0} -> {1}", ret, ret ==  100);
ret = modular(-1,100,200) ;
Console.WriteLine("modular(-1,100,200)   = {0} -> {1}", ret, ret ==  200);
ret = modular(1,-5,200)   ;
Console.WriteLine("modular(1,-5,200)     = {0} -> {1}", ret, ret ==   -4);
ret = modular(-500,-5,-1) ;
Console.WriteLine("modular(-500,-5,-1)   = {0} -> {1}", ret, ret ==   -5);
これはなんですか?
あ、わかりました。

すみません。投稿ミスをフォローしようとしてミスを重ねてしまいました。管理者様、できましたら#6388以降を削ってください。。。

Index

Feed

Other

Link

Pathtraq

loading...