☰
39:与7无关的数
2026/10/21 3:21:19 网站建设 项目流程
/** * 题目名称:与7无关的数 <p> * 题目来源:http://noi.openjudge.cn/ch0105/39/ <p> * 程序功能:输出所有小于等于指定正整数的与7无关的正整数的平方和 * * @author 潘磊,just_panlei@just.edu.cn * @version 1.0 */importjava.util.Scanner;publicclassMain{/** * 判断指定整数是否为与指定数字相关的数。<p> * 这里相关的含义是:指定整数能被指定数字整除,或者指定整数某一数位上的数字为指定数字。 * * @param num 指定整数。 * @param digit 指定数字。 * @return true当且仅当num是与digit相关的数,否则false。 */publicbooleanisCorrelative(intnum,intdigit){if(num%digit==0){// 如果num能被digit整除returntrue;// 说明num与digit相关}/* 在num尚未变为0时 */while(num!=0){if(num%10==digit){// 如果当前num的个位数是digitreturntrue;// 说明num与digit相关}num/=10;// 移除当前num的个位数}returnfalse;// 以上没有返回true,说明num与digit无关}/** * 返回指定区间内与指定数字无关的整数的平方和,这里指定区间的起始边界为1。 * * @param n 指定区间的终止边界。 * @param digit 指定数字。 * @return [1,n]区间内与digit无关的整数的平方和。 */publicintsquareSumOfNoncorrelative(intn,intdigit){intans=0;// [1,n]区间内与digit无关的整数的平方和/* 从整数1依次遍历到整数n */for(inti=1;i<=n;i++){if(!isCorrelative(i,digit)){// 如果当前整数与digit无关ans+=i*i;// 累加当前整数的平方}}returnans;}publicstaticvoidmain(String[]args){Maincall=newMain();Scannerinput=newScanner(System.in);intn=input.nextInt();System.out.print(call.squareSumOfNoncorrelative(n,7));}}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询