zoukankan      html  css  js  c++  java
  • 解题报告:POJ1597

    原题链接:POJ1597

    解析:主要难在理解题意,题目问是否分布均匀,就是说随机数是否从0~mod-1都有,其中seed0是可以是任意值,但是我们可以证明seed并不影响结果,由基本模运算可以得到:

    seed(i) = (seed(i-1) + step)%mod = (seed(i-2) + step + step)%mod = (seed(0) + i*step)%mod

    错误报告:

    • 题意要求输出每组数据后输出一行空行,没注意到
    • 在第二十五行输出字母,25行与21行之间只有4个空格

    代码示例:

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int main()
    {
    	long long step,mod;
    	while(~scanf("%lld%lld",&step,&mod)){
    		long long num[mod];
    		for(int i = 1;i <= mod;i++)
    			num[i-1] = ((i%mod)*(step%mod))%mod;
    		sort(num,num+mod);
    		bool flag = true;
    		for(int i = 0;i < mod;i++){
    			if(i == num[i])	continue;
    			else{
    				flag = false;
    				break;
    			}
    		}
    		printf("%10lld%10lld    ",step,mod);
    		if(flag)	puts("Good Choice
    ");
    		else puts("Bad Choice
    ");
    	}
    	return 0;
    } 
  • 相关阅读:
    解决CentOS6.5虚拟机克隆后无法上网(网卡信息不一致)的问题
    Linux密码保护
    破解Linux系统开机密码
    Linux常用命令
    人教版中小学教材电子版下载
    作业一
    实验四
    实验一
    实验三
    实验二
  • 原文地址:https://www.cnblogs.com/long98/p/10352186.html
Copyright © 2011-2022 走看看