fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. int s1,s2,min,max,i;
  5. do{
  6. do{
  7. printf("\n1つ目の正の整数を入力してください:");
  8. scanf("%d",&s1);
  9. if(s1<=0){
  10. printf("\n 正ではありません");
  11. }
  12. }while(s1<=0);
  13. do{
  14. printf("\n2つ目の正の整数を入力してください:");
  15. scanf("%d",&s2);
  16. if(s2<=0){
  17. printf("\n 正ではありません");
  18. }
  19. }while(s2<=0);
  20. i=s1*s2;
  21. do{
  22. if(i%s1==0 && i%s2==0){
  23. min=i;
  24. }
  25. i=i-1;
  26. }while(i!=1);
  27. do{
  28. if(s1%i==0 && s2%i==0){
  29. max=i;
  30. }
  31. i=i+1;
  32. }while(i<=s1);
  33. printf("\n%dと%dの最小公倍数は%dです",s1,s2,min);
  34. printf("\n%dと%dの最大公約数は%dです",s1,s2,max);
  35. printf("\n 続行するには1、停止する場合それ以外を入力してください");
  36. scanf("%d",&i);
  37. }while(i==1);
  38. return 0;
  39. }
  40.  
Success #stdin #stdout 0s 5324KB
stdin
-10
24
3
1
20
39
1
1024
-294
12
a
stdout
1つ目の正の整数を入力してください:
 正ではありません
1つ目の正の整数を入力してください:
2つ目の正の整数を入力してください:
24と3の最小公倍数は24です
24と3の最大公約数は3です
 続行するには1、停止する場合それ以外を入力してください
1つ目の正の整数を入力してください:
2つ目の正の整数を入力してください:
20と39の最小公倍数は780です
20と39の最大公約数は1です
 続行するには1、停止する場合それ以外を入力してください
1つ目の正の整数を入力してください:
2つ目の正の整数を入力してください:
  正ではありません
2つ目の正の整数を入力してください:
1024と12の最小公倍数は3072です
1024と12の最大公約数は4です
 続行するには1、停止する場合それ以外を入力してください