|
发表于 2024-4-3 15:05:11
|
显示全部楼层
本帖最后由 jackz007 于 2024-4-3 16:35 编辑
- #include<stdio.h>
- int main(void)
- {
- int b , g , i , j , s , t ;
- for(i = 100 ; i < 1000 ; i ++) {
- for(t = 1 , j = 2 ; j * j < i + 1 ; j ++) { /* 对于每一个 i 都必须重新初始化变量 j 和 t */
- if (i % j == 0) {
- t = 0 ; /* 否定 i 是一个素数的假定 */
- break ; /* 继续循环已经完全失去意义 */
- }
- }
- g = i % 10 ;
- b = i / 100 ;
- s = (i / 10) % 10 ;
- if(b == (g + s) % 10 && t) printf("%d\n" , i) ;
- }
- }
复制代码
这个代码可以进一步精简为:
- #include <stdio.h>
- int main(void)
- {
- int b , g , i , j , s , t ;
- for(i = 100 ; i < 1000 ; i ++) {
- for(j = 2 ; j * j < i + 1 && (t = i % j) ; j ++) ;
- b = i / 100 ;
- g = i % 10 ;
- s = (i / 10) % 10 ;
- if(b == (g + s) % 10 && t) printf("%d\n" , i) ;
- }
- }
复制代码 |
|