趣味分数

    xiaoxiao2021-03-25  117

    最大公约数 #include <iostream> int main(int argc, char** argv) { int m,n,t,i,max=0; scanf("%d%d",&m,&n); if(m>n){ t=m;m=n;n=t; } for(i=m;i>=1;i--){//注意 if(m%i==0&&n%i==0){ break; } } printf("%d\n",i); return 0; } 辗转相除法求最大公约数 #include<stdio.h> int main(){ int t,m,n,k; scanf("%d%d",&m,&n); if(n>m){ t=m;m=n;n=t; } k=m%n; while(k!=0){ m=n;n=k;k=m%n; } printf("%d",n); return 0; } 最小公倍数、 #include<stdio.h> int main(){ int m,n,k,t; scanf("%d%d",&m,&n); if(m>n){//使n作为最大的 t=m;m=n;n=t; } int i=1; while(true){ k=n*i; if(k%m==0&&k%n==0) break; } printf("%d\n",k); return 0; } 最小公倍数等于两数乘积除以最大公约数 #include <stdio.h> int main() { int m,n,t,i; scanf("%d%d",&m,&n); if(m>n){ t=m;m=n;n=t; } for(i=m;i>=1;i--){//注意 if(m%i==0&&n%i==0){ break; } } printf("%d\n",m*n/i); return 0; } //将真分数化简为埃及分数 #include<stdio.h> int main(){ long int a,b,c; printf("请输入一个分数:(格式为a/b)"); scanf("%d/%d",&a,&b); printf("它能被转换成:"); while(true){ if(b%a!=0)//如果不能被整除,则分母是这个 c=b/a+1; else//能被整除就可以直接输出 { c=b/a; a=1; } if(a==1){ printf("1/%d\n",c); break; } else printf("1/%d+",c); a=a*c-b;//求出余数的分子 b=b*c;//求出余数的分母 if(a==3&&b%2==0){//若余数的分子为三,分母是偶数,输出最后两个埃及分数 printf("1/%d+1/%d\n",b/2,b); break; } } return 0; } //列出真分数序列 只需要求出最大公约数,如果最大公约数是1,则为最简真分数 #include<stdio.h> int main(){ int m,k,max,n,i; for(i=1;i<40;i++){ m=40;//每次要重新对m进行赋值 n=i; k=m%n; while(k!=0){//求最大公约数 m=n;n=k;k=m%n; } max=n; if(max==1){ printf("%d/40\n",i);//这个地方改为i } } return 0; } //计算多项式之和 #include<stdio.h> int main(){ double s=0,t=1; int i,n; scanf("%d",&n); for(i=1;i<=n;i++){ //t=1/i*t; t=t*1/i; s=s+t; } printf("%lf\n",s); return 0; } //分数比较 #include<stdio.h> int main(){ int m,n,i,j; int num1,num2,k,bei; int one ,two; int max; scanf("%d/%d,%d/%d",&m,&n,&i,&j);//两种输出方式 // scanf("%d/%d",&m,&n); //scanf("%d/%d",&i,&j); if(n>j){ num1=n; num2=j; } else{ num1=j; num2=n; } for(i=num2;i>=1;i--){//注意 if(num1%i==0&&num2%i==0){ break; } } max=i; // printf("%d\n",i);//检验输出最大公约数 bei=n*j/max;//求出最小公倍数 // printf("%d\n",bei);//检验输出最小公倍数 one=(bei/n)*m; two=(bei/j)*i; if(one>two) printf("第一个分数大!\n"); else printf("第二个分数大!\n"); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-34714.html

    最新回复(0)