二、输入两个数,判断这个数是否为半质数。
大哈 18:31:05
应该是判断这两个数的积是否为半质数
大哈 18:31:44
半质数的概念:两个质数相乘的积
a``Forget. forget 18:31:54
嗯
大哈 18:34:25
考虑到你循环没学,输入的数可以小点,两个数小于15就行
大哈 18:35:13
题二可以输入两个小于15的数
1 #include <stdio.h> 2 3 int main() 4 5 { 6 7 int a,b; 8 9 printf("请输入两个15以内的数,我将会判断它们的积是否为半质数\n"); 10 11 scanf("%d,%d",&a,&b); 12 13 if((a==2||a==3||a==5||a==7||a==11||a==13)&&(b==2||b==3||b==5||b==7||b==11||b==13)) 14 15 { 16 17 printf("这两l个数的积为半质数\n"); 18 19 } 20 21 else 22 23 { 24 25 printf("这两个数的积不是半质数\n"); 26 27 } 28 29 getch(); 30 31 return 0; 32 33 }
半质数是什么呢?
数学中,两个素数的乘积所得的自然数我们称之为半素数(也叫双素数,二次殆素数)开始的几个半素数是4, 6, 9, 10, 14, 15, 21, 22, 25, 26, ... 它们包含1及自己在内合共有3或4个因子。另外,合数并不一定是半素数,但半素数一定是合数。
半素数在密码学和数论中非常有用,最显著的例子是密码学中的公钥(例如RSA)和随机数发生器。主要的基本原理是利用这类数的与生俱来的难以分解(至少是现在),而且随着数字的增长难度增加。简单的来说,35很容易就可以被分解成5×7,但是要想分解很大的半素数就不是那么容易了。
因此说,我只要判断输入的这两个数是不是质数就行,而||和&&的运用就在这里需要想到了。