c++一道题:求1-n中与n互质的数,输入n,输出一行一个数值

匿名网友 |浏览1274次
收藏|2019/01/31 16:41

满意回答

2019/01/31 16:52

用C语言编了一个,仅供参考,源代码如下:#include<stdio.h>int gcd(int a,int b) //该函数求a,b两数的最大公因数{ int t; while (b != 0) //使用“辗转相除法”求解最大公因数 { t = b; b = a % b; a = t; } return a; //返回a,b两数的最大公因数}int main(){ int i; //循环变量 int n; //n,输入参数 int gcd_ab; //最大公因数 int number=0; //互质数计数 printf("Please INPUT A Positive Number: "); scanf("%d",&n); //输入n for(i=1; i<n; i++) //从1开始到n-1循环,依次判断i和n是否互质(n必然与n不互质) { gcd_ab = gcd(n, i); //计算i和n的最大公因数 if (gcd_ab == 1) //如果两个数a,b的最大公因数为1,两数互质 number++; //如果i和n互质,计数加1 }//输出结果 printf("From 1 to %d, There are(is) %d numbers which is coprime with %d.",n, number, n); return 0;}输出结果如下:

ccckz

其他回答(0)
0人关注该问题
+1

 加载中...