No.666 1000000007で割るだけ

はじめに

競技プログラミングyukicoder
No.666 1000000007で割るだけ
言語はC#
何かあればTwitter→@pirorirori_n712まで

問題

入力:数値AとB(1<=A,B<=109
出力:AとBをかけて1000000007で割った余り

解き方

AとBをかけて1000000007で割る
値が大きすぎてint型だと入らないのでlong型で計算する

解き方例

①AとBをかけて1000000007で割る

String.Split()
→文字列を特定の区切り文字で分割する
**使い方
文字列を半角の空白で分けて、文字の配列に変えるとき
var str="abc abcd";
var strArray=String.Split(' ');
Console.WriteLine(strArray[0]);
Console.WriteLine(strArray[1]);
//出力
abc
abcd

Int64.Parse()
→string型の文字列をlong型に変換する
**使い方
Int64.Parse(String);

コード例
using System;

class No666{
    static void Main(){
        //入力を保存する
        var str=Console.ReadLine();
        //空欄で文字列を分ける
        var num =str.Split(' ');
        //文字列になっている数字をlong型に変換して積を出す
        var l=long.Parse(num[0])*long.Parse(num[1]);
        //積を1000000007で割った余りを出す
        var answer=l%1000000007;
        //答えを出力
        Console.WriteLine(answer);
    }
}

入力された文字列を半角の空欄で分割して、
配列にするまでを一行で行う

using System;

class No666{
    static void Main(){
        //入力された文字列を空欄で分割する
        var str=Console.ReadLine().Split(' ');
        //文字列になっている数字をlong型に変換して積を出す
        var l=long.Parse(str[0])*long.Parse(str[1]);
        //積を1000000007で割った余りを出す
        var answer=l%1000000007;
        //答えを出力
        Console.WriteLine(answer);
    }
}

文字列になっている数字をlongに変換して積を出し、
1000000007で割った余りを出すまでを一行で行う

using System;

class No666{
    static void Main(){
        //入力された文字列を空欄で分割する
        var str=Console.ReadLine().Split(' ');
        //文字列になっている数字をlong型に変換して積を出す
        //積を1000000007で割った余りを出す
        var answer=(Int64.Parse(str[0])*Int64.Parse(str[1]))%1000000007;
        //答えを出力
        Console.WriteLine(answer);
    }
}

*リンクを使うとさらに短くできます

using System;
using System.Linq;

class No666{
    static void Main(){
        //全ての処理を一行で行う
        Console.WriteLine((Console.ReadLine().Split(' ').Select(x=>Int64.Parse(x)).Aggregate((x,y)=>x*y))%1000000007);
    }
}