genprim.c

来自「这个是RSA加密算法C源程序」· C语言 代码 · 共 72 行

C
72
字号
/********************************************************************************									       **	Copyright (c) Martin Nicolay,  22. Nov. 1988			       **									       **	Wenn diese (oder sinngemaess uebersetzte) Copyright-Angabe enthalten   **	bleibt, darf diese Source fuer jeden nichtkomerziellen Zweck weiter    **	verwendet werden.						       **									       **	martin@trillian.megalon.de					       **									       ********************************************************************************/#include	<stdio.h>#include	"arith.h"#include	"prim.h"#include	"nio.h"#include	"rnd.h"char *prog;NUMBER a_three,a_four;usage(){	fprintf(stderr,"usage: %s digits [probability]\n",prog);	exit (1);}main( argc, argv )char **argv;{	NUMBER prim;	int len,i,prob;		prog = argv[0];			if ( argc < 2 || 3 < argc )		usage();		len = atoi( argv[1] );	if (argc > 2)		prob = atoi( argv[2] );	else		prob = 10;	a_add( &a_one, &a_two, &a_three );	a_add( &a_two, &a_two, &a_four );	init_rnd();		do {		gen_number( len, &prim );	} while ( !prim.n_len );		a_mult( &prim, &a_two, &prim );	a_mult( &prim, &a_three, &prim );	a_add( &prim, &a_one, &prim );		for (i=1 ;; i++) {		if (p_prim( &prim, prob ))			break;		if (i % 2)			a_add( &prim, &a_four, &prim );		else			a_add( &prim, &a_two, &prim );	}	fprintf(stderr,"%d cycles\n",i);		num_fput( &prim, stdout );}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?