乘式还原。有乘法算式如下:
×oooooooooooooooooo
18个O的位置上全部是素数(2、3、5或7),请还原此算式。
程序运行示例如下:
775
* 33
-----
2325
2325
-----
25575
#include<stdio.h>
int panduan(int x)
{
int n;
while(x!=0)
{
n=x%10;
if(n!=2&&n!=3&&n!=5&&n!=7)
return 0;
x/=10;
}
return 1;
}
int main()
{
int num1,num2,num3,num4,num5,a,b;
for(num1=100;num1<999;num1++)
{
for(num2=10;num2<99;num2++)
{
a=num2%10;
b=num2/10;
num3=a*num1;
num4=b*num1;
num5=num1*num2;
if((panduan(num1))&&(panduan(num2))&&(panduan(num3))&&(panduan(num4))&&(panduan(num5)))
{
printf("%5d\n",num1);
printf("* %3d\n",num2);
printf("-----\n");
printf("% 5d\n",num3);
printf("%4d\n",num4);
printf("-----\n");
printf("%5d",num5);
}
}
}
return 0;
}