
輸入問號的值,就能解a,b,c
其實也不能說「解」,應該叫「破解」比較恰當 :D
程式碼︰
20.
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main(){
short a,b,add; /*a,b,a+b+c*/
int x; /*a*b*c*/
char err=1; /*無解*/
printf("輸入 a + b + c = ?, a * b * c = ?\n解 a, b, c\n"); /*印出*/
scanf("%d%d",&add,&x); /*取得輸入*/
for(a=1;a<=pow(x,0.33334);a++) /*a從1開始試,且a必小於等於a*b*c的開立方根*/
for(b=a;b<=sqrt(x/a);b++) /*b從a的值開始試,且b必小於等於b*c的開平方根*/
if(a+b+(float)x/a/b==add){ /*若a+b+c等於輸入的add*/
printf("a = %d, b = %d, c = %d\n",a,b,x/a/b); /*印出*/
err=0; /*有解*/
}
if(err) /*若無解*/
printf("無解!"); /*印出*/
getch(); /*暫停*/
}
沒有留言:
張貼留言