如何解决在序言中找到一个数的所有质因数的问题
<?PHP
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class Iscrizione extends Model
{
use HasFactory;
protected $hidden = ['idCorso','idUtente'];
protected $table = 'iscrizione';
protected function setKeysForSaveQuery(Builder $query){
return $query->where('idCorso',$this->getAttribute('idCorso'))
->where('idUtente',$this->getAttribute('idUtente'));
}
}
其中谓词 isPrime(N) 检查一个数是否为素数,并相应地返回真或假。 但是,根据我的逻辑,我总是将错误作为输出。问题出在哪儿??我对 prolog 编程很陌生,所以我有点挣扎。
如果需要进一步说明,请在下方发表评论。
解决方法
我认为,你不应该从素数分解开始学习 Prolog,因为你的代码并不表明你对这个问题有一个清晰的认识。我很难解释你的代码背后的意图/想法。
我建议从选择一个你已经理解的问题开始学习序言。
然后也许开始考虑适合您的解决方案的谓词应该是什么样子。
在素数分解的情况下,可能是
prime_factors(N,List)
,如果 N
是一个数字并且 List
是它的所有质因数的列表,那么它应该是可证明的。
或者它可能是
prime_factor(N,F)
,如果 N
是一个数字并且 F
是它的主要因数之一,那么它应该是可证明的。
换句话说:你想问序言系统什么问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。