#include <stdio.h>
#include <string.h>
#include<math.h>
void lbsprint(float n)
{
int x;
printf("Disks needed: ");
x=n/50;
if (x!=0) {
printf("%d*50lbs",x);
n=n-50*x;
if (n!=0) {
printf(",");
}
}
x=n/20;
if (x!=0) {
printf(" %d*20lbs",x);
n=n-20*x;
if (n!=0) {
printf(",");
}
}
x=n/10;
if (x!=0) {
printf(" %d*10lbs",x);
n=n-10*x;
if (n!=0) {
printf(",");
}
}
x=n/5;
if (x!=0) {
printf(" %d*5lbs",x);
n=n-5*x;
if (n!=0) {
printf(",");
}
}
x=n/2;
if (x!=0) {
printf(" %d*2lbs",x);
n=n-2*x;
if (n!=0) {
printf(",");
}
}
x=n/1;
if (x!=0) {
printf(" %d*1lbs",x);
n=n-1*x;
if (n!=0) {
printf(",");
}
}
x=n/0.5;
if (x!=0) {
printf(" %d*0.5lbs",x);
n=n-x*0.5;
if (n!=0) {
printf(",");
}
}
x=n/0.25;
if (x!=0) {
printf(" %d*0.25lbs",x);
n=n-x*0.25;
if (n!=0) {
printf(",");
}
}
printf("\n");
}
void kgprint(float n)
{
int x;
printf("Disks needed: ");
x=n/50;
if (x!=0) {
printf("%d*50kg",x);
n=n-50*x;
if (n!=0) {
printf(",");
}
}
x=n/20;
if (x!=0) {
printf(" %d*20kg",x);
n=n-20*x;
if (n!=0) {
printf(",");
}
}
x=n/10;
if (x!=0) {
printf(" %d*10kg",x);
n=n-10*x;
if (n!=0) {
printf(",");
}
}
x=n/5;
if (x!=0) {
printf(" %d*5kg",x);
n=n-5*x;
if (n!=0) {
printf(",");
}
}
x=n/2;
if (x!=0) {
printf(" %d*2kg",x);
n=n-2*x;
if (n!=0) {
printf(",");
}
}
x=n/1;
if (x!=0) {
printf(" %d*1kg",x);
n=n-1*x;
if (n!=0) {
printf(",");
}
}
x=n/0.5;
if (x!=0) {
printf(" %d*0.5kg",x);
n=n-x*0.5;
if (n!=0) {
printf(",");
}
}
x=n/0.25;
if (x!=0) {
printf(" %d*0.25kg",x);
n=n-x*0.25;
if (n!=0) {
printf(",");
}
}
printf("\n");
}
int main(int argc, const char * argv[]) {
float a;
char k[100];
int boolen=1;
float n;
do {
printf("Enter the Unit of Weight ([1]-lbs, [2]-kg): ");
scanf("%f",&a);
if (a==1) {
while (boolen==1) {
printf("Enter the Target Weight in lbs: ");
scanf("%f",&n);
fgets(k, 100, stdin);
if (n>0&&n<=10000&&fmod(n,0.25)==0&&strlen(k)==1){
lbsprint(n);
boolen=0;
} else {
printf("Impossible!\n");
}
}
}
else if (a==2){
while (boolen==1) {
printf("Enter the Target Weight in kg: ");
scanf("%f",&n);
fgets(k, 100, stdin);
if (n>0&&n<=10000&&fmod(n,0.25)==0&&strlen(k)==1){
kgprint(n);
boolen=0;
} else {
printf("Impossible!\n");
}
}
}
else{
printf("Invalid Number!\n");
}
} while (a!=1&&a!=2);
return 0;
}