ZOJ-3758

来源:互联网 发布:php案例教程 编辑:程序博客网 时间:2024/06/04 07:12

水题,但由于long long不用调用sqrt,所以for循环的时候要用i*i<=num的形式

#include<stdio.h>#include<math.h>static int is_prime(long long num){if (num == 1)return 0;long long i;for (i = 2; i * i <= num; i++)if (num % i == 0)return 0;return 1;}int main(){int b, N;while (scanf("%d %d", &b, &N) != EOF){long long res = 0, base = 1;int i;for (i = 0; i < N; i++){res += base;base *= b;}printf(is_prime(res) ? "YES\n" : "NO\n");}return 0;}


0 0
原创粉丝点击