杭电oj第三天1019 1021

    技术2022-07-10  126

    昨儿睡晚了,今儿没起来跑步,遗憾,哈哈。那就开始: 第1019题 此题的意思是求出输入一组数字的最小公倍数,昨天有道题是求最大公约数,只需要把每个数都乘起来,除以最大公约数就是最小公倍数了。需要注意越界问题,不如先设一个初值d=1,先除后乘防止越界。代码如下:

    #include<stdio.h> int gcd(int a,int b) { if(b==0) return a; return gcd(b,a%b); } int main() { int T; scanf("%d",&T); while(T--){ int n; scanf("%d",&n); int d=1; for(int i=0;i<n;i++){ int x; scanf("%d",&x); d=d/gcd(d,x)*x; } printf("%d\n",d); } return 0; }

    第1021题 比较简单没啥想说的,代码如下:

    #include <stdio.h> int f[1000005]; int main() { int n; f[0] = 7 % 3; f[1] = 11 % 3; for (int i = 2; i <= 1000000; i++) f[i] = (f[i - 1] + f[i - 2]) % 3; while(scanf("%d", &n) != EOF) { if (f[n] == 0) printf("yes\n"); else printf("no\n"); } return 0; }

    突然感觉东野圭吾好适合当个程序员啊哈哈哈哈哈。 只有自己才最了解自己,共勉!女神晚安~

    Processed: 0.011, SQL: 9