首页 > 其他 > 详细

LibreOJ #525. 「LibreOJ β Round #4」多项式

时间:2017-09-03 10:57:28      阅读:212      评论:0      收藏:0      [点我收藏+]

二次联通门 : LibreOJ #525. 「LibreOJ β Round #4」多项式

 

 

 

 

官方题解 :

 

 技术分享

  技术分享

  技术分享技术分享

 

 

/*
    LibreOJ #525. 「LibreOJ β Round #4」多项式

    由于会有多种解
    所以只需要找出一组特殊解即可

*/
#include <cstdio>
#include <iostream>

void read (int &now)
{
    register char c = getchar ();
    for (now = 0; !isdigit (c); c = getchar ());
    for (; isdigit (c); now = now * 10 + c - 0, c = getchar ());
}

int Main ()
{
    int N; read (N); register int i, j; int L = N;
    int phi = 1; if (N == 1) return printf ("-1"), 0;    
    for (i = 2; i * i <= L; ++ i)
        if (L % i == 0) 
        {
            L /= i, phi *= (i - 1);
            for (; L % i == 0; L /= i, phi *= i);
        }
    if (L != 1) phi *= L - 1;
     printf ("%d\n", L = phi << 1 | 1); ++ phi;
    for (i = 0; i < phi; ++ i) printf ("0 ");
    printf ("%d ", N - 1);
    for (++ i; i < L; ++ i) printf ("0 ");
    printf ("1");
    return 0;
}

int ZlycerQan = Main ();
int main (int argc, char *argv[]) {;}

 

 

LibreOJ #525. 「LibreOJ β Round #4」多项式

原文:http://www.cnblogs.com/ZlycerQan/p/7468844.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!